git-解决与rebase vs merge的冲突

时间:2019-01-15 12:12:46

标签: git

所以我合并的地方皱着眉头,实际上是不允许的。团队希望使用git rebase来维护历史记录的单一流程并使它看起来线性。他们不想看到合并提交。但是我今天遇到了一种情况,不知道如何解决。我当时正在开发一个名为featureBranchA的功能分支,并且没有进行任何更改,并且是否进行git pull origin开发来从开发中获取更改。变化来了,但是发生了冲突(即使在藏匿之后!)。它显示以下内容:

CONFLICT (modify/delete): myapp/src/main/java/com/myCompany/app/rubberBands/crayons/CrayonMarker.kt deleted in 258dcbfccba83025cd0c3e1e22212e980a481a and modified in HEAD. Version HEAD of myapp/src/main/java/com/myCompany/app/rubberBands/crayons/CrayonMarker.kt left in tree.

因此,很明显,我需要解决此冲突才能继续。因此,我执行了以下命令,因为看起来好像需要更新一些文件引用(CrayonMarker.kt文件已被删除,但是我的git认为它仍然存在):

git add .
git commit -m "merging to resolve conflicts"
git stash pop

我又回到公司了,但是我的团队对合并的变化并不满意。他们只想变基。下次我该怎么做呢? 解决冲突后,我是否要立即运行:

git rebase develop 

那之后我该怎么办?提交更改?

1 个答案:

答案 0 :(得分:1)

根据git文档:

https://git-scm.com/docs/git-rebase

  

假设存在以下历史记录,并且当前分支为“主题”:

      A---B---C topic
     /
D---E---F---G master
     

至此,以下任一命令的结果:

git rebase master
git rebase master topic
     

将是:

              A'--B'--C' topic
             /
D---E---F---G master

看来您的develop分支提供了一个简单的基础就可以解决此问题。