根据Git,谁是“我们”,谁是“他们”?


157

重新设置Git后,在其他情况下,您可以在报告中找到一些标记为被我们删除的文件git status。根据Git,我们是谁?为什么?

它是指我坐在这个分支上并且对我有用吗?还是指的是我自己和我所依据的分支机构的工作人员?


5
奇怪的是,“被他们删除”似乎意味着您删除了要重定基础的分支上的文件,而“被我们删除”意味着其他人也删除了该文件。git merge给出相反的信息。
Fred Foo 2014年

Answers:


173

当您合并时us是指您要合并到的分支,而不是them要合并的分支。

当您变基时us指的是上游分支,并且them是您要移动的分支。如果需要重新设置,这有点违反直觉。

原因是,Git使用相同的合并引擎进行基础调整,实际上是在将您的内容挑选到上游分支中。us=进入,them=从。


54
实现的角度来看,这是有道理的,因为rebase使用合并机制,其中“ ours”分支是上游分支,“ theirs”分支是正在进行重构的分支。但是我同意,“极其无助”似乎是一种礼貌的表达方式。我宁愿用“我们/我们的”和“他们/他们的”之类的其他词来标记分支,例如用分支名称:“在master中删除,在功能中进行修改”。
torek 2014年

3
我总是倾向于混淆--theirs--ours一个重订期间做了结帐的时候,它是如此反直观。我希望他们有一天能解决这个问题。
iosdude '16

当只涉及一个分支时(例如在重新排序期间重新排序或压缩提交)时该rebase怎么办?
贾斯汀·约翰逊

us:新的重写分支(进入),:them原始分支(来自)。
SzG

13
将其us视为“ [u] p [s] tream”的助记符而不是通常的英语单词“ us” 可能会有所帮助。
kojiro
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.