Merge branch 'pb/doc-orig-head' into maint-2.39
Document ORIG_HEAD a bit more. * pb/doc-orig-head: git-rebase.txt: add a note about 'ORIG_HEAD' being overwritten revisions.txt: be explicit about commands writing 'ORIG_HEAD' git-merge.txt: mention 'ORIG_HEAD' in the Description git-reset.txt: mention 'ORIG_HEAD' in the Description git-cherry-pick.txt: do not use 'ORIG_HEAD' in example
This commit is contained in:
@ -219,7 +219,7 @@ again, this time exercising more care about matching up context lines.
|
|||||||
------------
|
------------
|
||||||
$ git cherry-pick topic^ <1>
|
$ git cherry-pick topic^ <1>
|
||||||
$ git diff <2>
|
$ git diff <2>
|
||||||
$ git reset --merge ORIG_HEAD <3>
|
$ git cherry-pick --abort <3>
|
||||||
$ git cherry-pick -Xpatience topic^ <4>
|
$ git cherry-pick -Xpatience topic^ <4>
|
||||||
------------
|
------------
|
||||||
<1> apply the change that would be shown by `git show topic^`.
|
<1> apply the change that would be shown by `git show topic^`.
|
||||||
|
@ -37,7 +37,8 @@ Then "`git merge topic`" will replay the changes made on the
|
|||||||
`topic` branch since it diverged from `master` (i.e., `E`) until
|
`topic` branch since it diverged from `master` (i.e., `E`) until
|
||||||
its current commit (`C`) on top of `master`, and record the result
|
its current commit (`C`) on top of `master`, and record the result
|
||||||
in a new commit along with the names of the two parent commits and
|
in a new commit along with the names of the two parent commits and
|
||||||
a log message from the user describing the changes.
|
a log message from the user describing the changes. Before the operation,
|
||||||
|
`ORIG_HEAD` is set to the tip of the current branch (`C`).
|
||||||
|
|
||||||
------------
|
------------
|
||||||
A---B---C topic
|
A---B---C topic
|
||||||
|
@ -38,6 +38,13 @@ The current branch is reset to `<upstream>` or `<newbase>` if the
|
|||||||
`git reset --hard <upstream>` (or `<newbase>`). `ORIG_HEAD` is set
|
`git reset --hard <upstream>` (or `<newbase>`). `ORIG_HEAD` is set
|
||||||
to point at the tip of the branch before the reset.
|
to point at the tip of the branch before the reset.
|
||||||
|
|
||||||
|
[NOTE]
|
||||||
|
`ORIG_HEAD` is not guaranteed to still point to the previous branch tip
|
||||||
|
at the end of the rebase if other commands that write that pseudo-ref
|
||||||
|
(e.g. `git reset`) are used during the rebase. The previous branch tip,
|
||||||
|
however, is accessible using the reflog of the current branch
|
||||||
|
(i.e. `@{1}`, see linkgit:gitrevisions[7]).
|
||||||
|
|
||||||
The commits that were previously saved into the temporary area are
|
The commits that were previously saved into the temporary area are
|
||||||
then reapplied to the current branch, one by one, in order. Note that
|
then reapplied to the current branch, one by one, in order. Note that
|
||||||
any commits in `HEAD` which introduce the same textual changes as a commit
|
any commits in `HEAD` which introduce the same textual changes as a commit
|
||||||
|
@ -49,7 +49,8 @@ section of linkgit:git-add[1] to learn how to operate the `--patch` mode.
|
|||||||
'git reset' [<mode>] [<commit>]::
|
'git reset' [<mode>] [<commit>]::
|
||||||
This form resets the current branch head to `<commit>` and
|
This form resets the current branch head to `<commit>` and
|
||||||
possibly updates the index (resetting it to the tree of `<commit>`) and
|
possibly updates the index (resetting it to the tree of `<commit>`) and
|
||||||
the working tree depending on `<mode>`. If `<mode>` is omitted,
|
the working tree depending on `<mode>`. Before the operation, `ORIG_HEAD`
|
||||||
|
is set to the tip of the current branch. If `<mode>` is omitted,
|
||||||
defaults to `--mixed`. The `<mode>` must be one of the following:
|
defaults to `--mixed`. The `<mode>` must be one of the following:
|
||||||
+
|
+
|
||||||
--
|
--
|
||||||
|
@ -49,7 +49,8 @@ characters and to avoid word splitting.
|
|||||||
`FETCH_HEAD` records the branch which you fetched from a remote repository
|
`FETCH_HEAD` records the branch which you fetched from a remote repository
|
||||||
with your last `git fetch` invocation.
|
with your last `git fetch` invocation.
|
||||||
`ORIG_HEAD` is created by commands that move your `HEAD` in a drastic
|
`ORIG_HEAD` is created by commands that move your `HEAD` in a drastic
|
||||||
way, to record the position of the `HEAD` before their operation, so that
|
way (`git am`, `git merge`, `git rebase`, `git reset`),
|
||||||
|
to record the position of the `HEAD` before their operation, so that
|
||||||
you can easily change the tip of the branch back to the state before you ran
|
you can easily change the tip of the branch back to the state before you ran
|
||||||
them.
|
them.
|
||||||
`MERGE_HEAD` records the commit(s) which you are merging into your branch
|
`MERGE_HEAD` records the commit(s) which you are merging into your branch
|
||||||
|
Reference in New Issue
Block a user