看看这个序列:
首先,我要克隆一个空存储库:
git clone http://mygitlabserver/myuser/project1.git
cd project1
然后创建一个包含以下内容的主.c文件:
#include <stdio.h>
int main(int argc, char *argv[]) {
return 0;
}
我添加并提交我的程序的第一个版本:
git add main.c
git commit -m "first version"
然后,我创建一个分支并切换到该分支:
git branch branch1
git checkout branch1
在这个分支中,我更改了main.c文件:
#include <stdio.h>
int main(int argc, char *argv[]) {
return 1;
}
如您所见,这是一个非常基本的更改(0到1)。
我在branch1上添加并提交此更改:
git add main.c
git commit -m "version with return 1"
现在,我想合并branch1到master branch。以下是我键入的内容:
git checkout master
git merge branch1
我对冲突没有任何警告,这是我不明白的。
以下是主分支中的main.c文件的内容:
#include <stdio.h>
int main(int argc, char *argv[]) {
return 1;
}
所以我的主.c文件被branch1中的文件替换了。有时,我看到主.c文件中有这样的内容:
#include <stdio.h>
int main(int argc, char *argv[]) {
==============================
return 0;
==============================
return 1;
==============================
}
但在我的例子中并不是这样。我的问题是…为什么?
谢谢