git replace [-f] <object> <replacement> git replace -d <object>... git replace -l [<pattern>]
Adds a replace reference in .git/refs/replace/
The name of the replace reference is the SHA1 of the object that is replaced. The content of the replace reference is the SHA1 of the replacement object.
Unless -f is given, the replace reference must not yet exist in .git/refs/replace/ directory.
-f
-d
-l <pattern>
Comparing blobs or trees that have been replaced with those that replace them will not work properly. And using git reset --hard to go back to a replaced commit will move the branch to the replacement commit instead of the replaced commit.
There may be other problems when using git rev-list related to pending objects. And of course things may break if an object of one type is replaced by an object of another type (for example a blob replaced by a commit).
git-tag(1) git-branch(1)
Written by Christian Couder <m[blue]chriscool@tuxfamily.orgm[][1]> and Junio C Hamano <m[blue]gitster@pobox.comm[][2]>, based on git tag by Kristian Hogsberg <m[blue]krh@redhat.comm[][3]> and Carlos Rica <m[blue]jasampler@gmail.comm[][4]>.
Documentation by Christian Couder <m[blue]chriscool@tuxfamily.orgm[][1]> and the git-list <m[blue]git@vger.kernel.orgm[][5]>, based on git tag documentation.
Part of the git(1) suite