mirror of
https://github.com/git/git
synced 2024-08-24 18:26:02 +00:00
checkout: document subtlety around --ours/--theirs
During a 'rebase' (hence 'pull --rebase'), --ours/--theirs may appear to be swapped to those who are not aware of the fact that they are temporarily playing the role of the keeper of the more authoritative history. Add a note to clarify. Helped-by: Junio C Hamano <gitster@pobox.com> Signed-off-by: Simon A. Eugster <simon.eugster@eps.ch> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
fdf96a20ac
commit
f30301657b
|
@ -116,6 +116,21 @@ entries; instead, unmerged entries are ignored.
|
|||
--theirs::
|
||||
When checking out paths from the index, check out stage #2
|
||||
('ours') or #3 ('theirs') for unmerged paths.
|
||||
+
|
||||
Note that during `git rebase` and `git pull --rebase`, 'ours' and
|
||||
'theirs' may appear swapped; `--ours` gives the version from the
|
||||
branch the changes are rebased onto, while `--theirs` gives the
|
||||
version from the branch that holds your work that is being rebased.
|
||||
+
|
||||
This is because `rebase` is used in a workflow that treats the
|
||||
history at the remote as the shared canonical one, and treats the
|
||||
work done on the branch you are rebasing as the third-party work to
|
||||
be integrated, and you are temporarily assuming the role of the
|
||||
keeper of the canonical history during the rebase. As the keeper of
|
||||
the canonical history, you need to view the history from the remote
|
||||
as `ours` (i.e. "our shared canonical history"), while what you did
|
||||
on your side branch as `theirs` (i.e. "one contributor's work on top
|
||||
of it").
|
||||
|
||||
-b <new_branch>::
|
||||
Create a new branch named <new_branch> and start it at
|
||||
|
|
Loading…
Reference in a new issue