You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
84 lines
2.3 KiB
84 lines
2.3 KiB
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 `refs/replace/` namespace. |
|
|
|
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. |
|
|
|
Replacement 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 references 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-objects cat-file commit foo |
|
------------------------------------------------ |
|
|
|
shows information about commit 'foo', while: |
|
|
|
------------------------------------------------ |
|
$ git cat-file commit foo |
|
------------------------------------------------ |
|
|
|
shows information about commit 'bar'. |
|
|
|
The 'GIT_NO_REPLACE_OBJECTS' environment variable can be set to |
|
achieve the same effect as the `--no-replace-objects` option. |
|
|
|
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] |
|
linkgit:git[1] |
|
|
|
GIT |
|
--- |
|
Part of the linkgit:git[1] suite
|
|
|