git - Git 在从分支合并到 Master 期间替换文件
问题描述
我正在尝试将一个分支合并到 master,但 git 说存在冲突。由于我试图合并到 master 的分支有更新的更改,我希望所有这些都去替换 master 中的代码。为什么 git 抱怨存在冲突,而不是用我试图合并的分支中的文件替换 master 中的整个文件。我想知道如何解决这个问题,并告诉 git 基本上用我试图合并的分支中所做的任何更改来替换 master 中的所有文件。
解决方案
Git 可以毫无问题地自动合并内容。但有时它会失败。我们称之为合并冲突。
当出现冲突时,Git 将合并它可以合并的内容,而当它不能合并时,它会给您留下一个标志,告诉您手动合并。 >>>
并且<<<
是那些特殊的市场之一。
何时发生合并冲突?
Git 跟踪文件中的行。当在不同的分支中修改完全相同的行时,就会发生合并冲突。因此,Git 会感到困惑,即更改将保留第一个分支或第二个分支的分支,并在此处出现冲突。您可以将冲突视为可怜的 Git 对它的理解感到困惑 :)。
合并冲突指标说明了什么?
<<<<<<< HEAD
:该指标之间的所有行,直到出现新的行显示当前分支中的内容。||||||| merged common ancestors
:此指示器之间的所有线直到出现新的线显示原始线是什么。=======
这是原始行的结束指示符。该指示器之间的所有线直到新指示器出现为止都告诉您正在合并的分支上的内容。>>>>>>> heading-update
这是行中合并的分支的结束指示符。
如何解决冲突合并?
要解决冲突,您需要选择保留哪条线并删除带有指示器的线。
接下来是什么?
删除带有冲突指示符的行后+选择要保留的行。只需将文件暂存并提交即可。
现在我们开始!你做到了。这不是那么棘手;)。
例子:
冲突后你在文件中得到了什么:
#print hello
<<<<<<< HEAD
print("Hello")
||||||| merged common ancestors
print("Hi")
=======
print("Holla")
>>>>>>> heading-update
#print good luck
print("Good luck")
所以:
- print("Hello"):这是当前分支中的内容。
- print("Hi"): 原来的。
- print("Holla"):正在合并的分支上的内容。
因此,决定保留其中的哪一个,并使用指标删除所有其他的。或者,您可以创建一个新的。最后,我们得到一个像这样的整洁的东西,例如:
#print hello
print("Ohayo :D")
#print good luck
print("Good luck")
在这里阅读更多:)。
祝一切顺利 :)。
推荐阅读
- python - 有没有办法从模型中获取并显示用户发布的每个广告的图像数量
- networking - 端口 80 的端口转发不适用于来自 LAN 内部的请求(适用于 WAN)
- javascript - SortableJS:放置请求后项目更改位置
- jquery - jQuery select:option 为什么当我选择选项一来显示特定字段但它打开所有字段时?
- facebook-graph-api - Facebook graph Api 的批量请求
- python - Python如何在应该只是数字的列中替换非数字值
- vba - MS访问数据透视表获取所选项目vba
- list - Haskell 中作为枚举类型组合的类型的范围
- python - How to validate form if empty values passed to form fields in Django?
- netlogo - TURTLES-ON 期望输入是代理或代理集,但得到的数字是 0