我有一个来自开发的“ featurex”分支。当我提出要求发展的请求时,我就会遇到冲突。我正在尝试在以下行修复此问题:
也许我的过程是错误的...
答案 0 :(得分:1)
有时候,解决合并冲突时,最终结果是“不做任何更改”。
例如,考虑以下文本文件的行:
Balls come in several colors. Red is the most popular.
这是文件在某些提交中的显示方式。现在您和您的同事都已获得此承诺并开始工作。同时,销售人员告诉您,事实上,绿色是最受欢迎的。
您的同事是英国人,并且这样做:
Balls come in several colours. Green is the most popular.
您这样做:
Balls come in several colors. Green is the most popular.
你们俩都承诺,但是您同事的git push
发生在您的git push
之前。然后,您在运行git push
时遇到错误,提示该推送是非快速转发,因此您获得了同事的提交-这会更改单词的拼写并最受欢迎的声明–然后您让Git尝试使用git rebase
将您的更改与他们的更改结合起来。
您当然可以选择将拼写 back 切换为color
,但是,假设您选择保留英式拼写。在这种情况下,此合并冲突的正确解决方案是将更改保存到文件中。
如果这是您的整个提交中的 更改,则正确的解决方案是现在完全删除您的提交。 git rebase
命令将为您提供此选项!您只需通过以下方式通知Git就是这种情况:
git rebase --skip
在使用前确保此选项正确。
也许我的过程是错误的...
是否要变基或合并是个人和团队的决定。一种尺寸不适合所有尺寸。只有您和您的同事/团队才能决定。
如果您选择使用git merge
将提交与其提交合并,则无法选择完全放弃提交。合并添加 new 提交,而不是复制现有的提交;现有的提交全部保留,因此无法删除提交。但是,如果您要进行真正的合并而不是重新设置基准,您将不会遇到此问题:git merge --continue
或git commit
–此时两个命令都执行相同的操作–将进行新合并提交,它将为您为此合并冲突选择的解决方案作为快照。