在我的develop
分支中,我创建了一个feature
分支并进行了一些更改。完成所有更改后,我压缩所有提交,以便在合并后只添加一条提交消息,如git reset --soft HEAD~X & git commit & git push -f
,其中X
是要压缩的提交数。
然后创建拉取请求,feature
成功合并到develop
,没有任何冲突。然后,我希望更新我的本地develop
分支,因此我执行以下git checkout develop & git pull
。
存在冲突,为什么会这样,我怎么能避免它们呢?
请注意,在此方案中,develop
的本地副本没有发生任何更改。
答案 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
分支提交历史记录。