我有一个git存储库,其中有一个名为hi.txt的文件。它只有一个分支即主。其内容为Hi this is it.
我已提交此更改,然后使用newb
在名为git checkout -b newb
的新分支中检出该更改。现在在这个分支中我将文本更改为Hi this is not it.
我也提交了此代码。现在我使用git checkout master
切换到master,然后使用git merge newb
合并newb
分支。现在git应该给我一个冲突,因为两个分支都有相同文件的不同版本,但事实并非如此。它会覆盖master
分支与newb
分支的内容,因此hi.txt
的内容变为Hi this is not it.
这是它应该如何工作的吗?
答案 0 :(得分:2)
为什么会发生冲突?
hi.txt
master
newb
并修改了hi.txt
master
并将newb
中完成的更改合并到master
它的工作方式。我们不使用SVN,是吗?
如果您在创建hi.txt
之后更改了master
中的newb
,情况会有所不同:这会导致两个分支都有修改的状态。
但上述工作流程不会导致任何问题。
在Git Book中更深入地阅读有关分支和合并的内容:
http://git-scm.com/book/en/Git-Branching-Basic-Branching-and-Merging
修改:根据您的comment,您只想知道master
和newb
之间哪些文件不同。这可以使用
git diff --name-only master newb