阅读GIT合并标记

4
抱歉,这是一个非常简单的问题。在GIT中,这个合并标记意味着什么?
>>>>>>> next-release:db/schema.rb

当它没有附带内容时怎么办?
=======

此外,是否有一种方法可以告诉GIT仅选择一个版本而不是另一个版本?
2个回答

5
为了告诉Git选择一个版本而不是另一个(未合并路径的版本),您可以使用以下命令之一:
  • git checkout --ours -- path/to/file
  • git checkout --theirs -- path/to/file
有关详细信息,请参见git checkout man page
关于合并标记; 我从未看到过只添加“>>>>”而没有匹配的“====”和“<<<<”。 您确定这不是在尝试手动解决冲突时留下的吗?
标签next-release:db/schema.rb仅表示文件“db/schema.rb”位于“next-release”分支上。

很酷,+1并感谢你,Tim。确实可能是之前冲突留下的遗留问题,因为上次合并时我也遇到了这个问题,但我不知道如何解决它 :) - Dan Rosenstark
--ours--theirs 是非常好的提示。我痴迷于阅读 man 手册以查找选项,但有时仍会忘记它们。 - Cascabel

0

正如本主题所提到的,如果在 rebase 过程中遇到合并冲突,请小心处理。

解决合并冲突时可能会感到困惑。
在过去,我可以使用以下方法:

git checkout --theirs -- <filename>

现在我必须执行检出他们的版本:
git checkout --ours -- <filename>

请查看 "为什么“ours”和“theirs”的含义相反" 以了解在变基时选项为什么会相反。
并且如 "如何放弃远程更改并将文件标记为“已解决”?" 中所述,不要忘记在 checkout 选项和文件名之间使用 '--'。
如果您不这样做,并且文件名恰好与分支或标签的名称匹配,Git 将认为您想要检出该修订版本,而不是检出该文件名,因此使用 checkout 命令的第一种形式。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接