git - 术语混乱,"theirs" vs "mine"

git - confusion over terminology, "theirs" vs "mine"

我完全搞不懂我的和他们的是什么意思。在这种特定情况下,我有一个功能分支,我刚刚通过 rebase -i 压缩了大约 80 次提交,并将其合并回 develop。我遇到了一些冲突,我只想使用我的功能分支上的任何代码。我尝试了 "mine",但实际上似乎适得其反。

有人可以阐明这个术语吗?

"Ours"(和"mine")指的是当前分支; "theirs" 指的是要合并的分支。听起来您实际上想使用 "theirs"。

ourstheirs 是一个有点混乱的概念;执行变基时加剧:

执行合并时,ours 指的是您要合并的分支 theirs 指的是您要合并的分支 来自。因此,如果您尝试在 merge 中解决冲突:

  • 使用 ours 接受我们当前所在分支的更改
  • 使用 theirs 接受来自我们要合并到的分支的更改。

这很有道理,对吧?

rebasing时,ourstheirs倒置。 Rebases 选择文件到 "detached" HEAD 分支。 target是那个HEAD分支,merge-from是rebase之前的原始分支。这使得:

  • --ours rebase 正在构建的匿名者,
  • --theirs 正在重定基线的那个;

即,变基重放当前分支的提交(一次一个)在我们打算变基的分支之上。

我承认一开始很困惑。我什至写了 an article 来详细解释它是如何工作的。

简而言之:“我的”是您在您的分支中持有的零钱,“他们的”是一切都进入的目标分支。