在拉出请求合并到远程数据库后,为什么在将更改提取到本地分支时会出现冲突?

时间:2017-03-14 12:26:00

标签: git version-control

在我的develop分支中,我创建了一个feature分支并进行了一些更改。完成所有更改后,我压缩所有提交,以便在合并后只添加一条提交消息,如git reset --soft HEAD~X & git commit & git push -f,其中X是要压缩的提交数。

然后创建拉取请求,feature成功合并到develop,没有任何冲突。然后,我希望更新我的本地develop分支,因此我执行以下git checkout develop & git pull

存在冲突,为什么会这样,我怎么能避免它们呢?

请注意,在此方案中,develop的本地副本没有发生任何更改。

2 个答案:

答案 0 :(得分:0)

  

存在冲突,为什么会这样,我怎么能避免它们呢?

其他人已经提交了导致它的代码 为了避免它,尝试使用pull request你可以,所有主要服务器都支持它,你会在合并之前看到冲突。

处理它的最佳方法是经常将developer拉入您的功能branch。这将降低发生冲突的可能性。

如果你想跑步"干跑"在合并之前你可以这个(取决于你目前的检出分支)

git log ^branchA branchB

git log ^develop feature
git log develop ^feature

答案 1 :(得分:0)

马克说,通常它是快速前进的。

如果存在冲突,则主要导致develop分支被强制更改(壁球,变基等)。在将更改从远程develop分支拉到本地devlop分支之前,您可以通过以下命令进行检查:

git fetch origin develop
git log develop..origin/develop --oneline
git log origin/develop..develop --oneline

如果git log origin/develop..develop --oneline有输出,则表示其他人已更改develop分支提交历史记录。