2009-04-14 02:36:59 +04:00
|
|
|
git-replace(1)
|
|
|
|
==============
|
|
|
|
|
|
|
|
NAME
|
|
|
|
----
|
|
|
|
git-replace - Create, list, delete refs to replace objects
|
|
|
|
|
|
|
|
SYNOPSIS
|
|
|
|
--------
|
|
|
|
[verse]
|
|
|
|
'git replace' [-f] <object> <replacement>
|
|
|
|
'git replace' -d <object>...
|
|
|
|
'git replace' -l [<pattern>]
|
|
|
|
|
|
|
|
DESCRIPTION
|
|
|
|
-----------
|
|
|
|
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.
|
|
|
|
|
2009-10-13 00:30:32 +04:00
|
|
|
Replace references will be used by default by all git commands except
|
|
|
|
those doing reachability traversal (prune, pack transfer and fsck).
|
|
|
|
|
|
|
|
It is possible to disable use of replacement refs for any command
|
|
|
|
using the --no-replace-objects option just after "git".
|
|
|
|
|
|
|
|
For example if commit "foo" has been replaced by commit "bar":
|
|
|
|
|
|
|
|
------------------------------------------------
|
|
|
|
$ git --no-replace-object cat-file commit foo
|
|
|
|
------------------------------------------------
|
|
|
|
|
|
|
|
show information about commit "foo", while:
|
|
|
|
|
|
|
|
------------------------------------------------
|
|
|
|
$ git cat-file commit foo
|
|
|
|
------------------------------------------------
|
|
|
|
|
|
|
|
show information about commit "bar".
|
|
|
|
|
2009-04-14 02:36:59 +04:00
|
|
|
OPTIONS
|
|
|
|
-------
|
|
|
|
-f::
|
|
|
|
If an existing replace ref for the same object exists, it will
|
|
|
|
be overwritten (instead of failing).
|
|
|
|
|
|
|
|
-d::
|
|
|
|
Delete existing replace refs for the given objects.
|
|
|
|
|
|
|
|
-l <pattern>::
|
|
|
|
List replace refs for objects that match the given pattern (or
|
|
|
|
all if no pattern is given).
|
|
|
|
Typing "git replace" without arguments, also lists all replace
|
|
|
|
refs.
|
|
|
|
|
|
|
|
BUGS
|
|
|
|
----
|
|
|
|
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).
|
|
|
|
|
|
|
|
SEE ALSO
|
|
|
|
--------
|
|
|
|
linkgit:git-tag[1]
|
|
|
|
linkgit:git-branch[1]
|
2009-10-13 00:30:32 +04:00
|
|
|
linkgit:git[1]
|
2009-04-14 02:36:59 +04:00
|
|
|
|
|
|
|
Author
|
|
|
|
------
|
|
|
|
Written by Christian Couder <chriscool@tuxfamily.org> and Junio C
|
|
|
|
Hamano <gitster@pobox.com>, based on 'git tag' by Kristian Hogsberg
|
|
|
|
<krh@redhat.com> and Carlos Rica <jasampler@gmail.com>.
|
|
|
|
|
|
|
|
Documentation
|
|
|
|
--------------
|
|
|
|
Documentation by Christian Couder <chriscool@tuxfamily.org> and the
|
|
|
|
git-list <git@vger.kernel.org>, based on 'git tag' documentation.
|
|
|
|
|
|
|
|
GIT
|
|
|
|
---
|
|
|
|
Part of the linkgit:git[1] suite
|