合并的git分支与源代码有所不同吗?

时间:2017-09-18 16:45:51

标签: git version-control

我有两个分支:origin / master和origin / dev。

这就是我的流程应该如何运作:

  

每次创建新功能时,我都会从origin / master分支出来。测试时,我将功能分支合并到origin / dev。

     

如果测试成功,我将该功能合并到origin / master中。然后我使用:

重置origin / dev      

git checkout origin / dev      git reset - hard origin / master      git push -F origin / dev

     

如果测试不成功,我只需在功能分支上重置origin / dev和debug。

最近搞砸了一些东西,现在在运行我的程序时,我看到origin / master和origin / dev之间存在不同的行为。

两个分支当前都指向同一个提交。两个同步分支是否有可能在源代码中包含差异,而git diff无法获取它?

1 个答案:

答案 0 :(得分:0)

不,这是不可能的。

  • 如果您与两个分支同步,则意味着两个分支指向同一个提交,并且两个分支包含相同的代码。
  • 如果您需要两个分支包含不同的源代码,则不应与它们同步。

因此,如果origin/masterorigin/dev有不同的源代码,您应该更改重置origin/dev分支的方式,如下所示:

git checkout origin/dev
git reset --hard HEAD~
# If you were not puch the changes after merging feature branch into origin/dev, it’s not necessary to force push

由于origin/masterorigin/dev现在包含相同的代码,您可以单独重置或检出每个分支的正确文件。