push某个branch时,要保证自己本地的branch文件是最新的.
目前遇到的冲突有两种
1
开始我先rebase了一次 (此时自己的远程端和develop的远程端都成为了origin)再push,push之后向develop发送merge请求(此时push之后自己的远程端相当于 origin->pushA1 ) 之后因为修改文件又commit了一次(本地是 origin->pushA1->commitA2. 但是此时develop别的人又有merge了 pushB1 pushB2 此时 我错误地对自己的branch进行了rebase(此时自己的远程端是 origin->pushA1->pushB1->pushB2, 本地的是origin->pushA1->commitA2. )显然要对自己的branch进行push commit A2 需要pull B1 B2 但是 因为我对A1 的文件进行了修改 pull的时候系统对比时远侧端A1改动的文件就和A2改动的文件冲突了。为了避免这种情况应该保证本地的自己的branch 版本要比远程的要新。也就是说 “commit的内容与本地的内容的差分”, 和 “远程端的内容与本地的内容的差分” 发生了冲突
2
还有一种情况是我和另一个人的merge请求都对同一个文件进行了改动,也就是说 “merge1的内容与远程端的内容的差分”, 和 “merge2的内容与远程端的内容的差分” 发生了冲突