我们已经从'master'创建了'dev'分支并且一直在'dev'分支上工作。我们尚未将'dev'合并为'master'。同时我们还从'master'创建了'preprod'分支,并在'preprod'分支上进行了更改。我们尚未将'preprod'合并为'master'。
现在我们要努力实现的是将'preprod'变化单独合并到'dev'。我通过Gitlab创建了一个合并请求并批准了它。我发现'dev'代码的变化也被转移到'preprod',反之亦然。我不希望任何机会将'dev'更改移动到'preprod'。我怎么能做到这一点?
答案 0 :(得分:4)
如果两者都有变化,很可能你的合并请求告诉gitlab将两个分支合并到一起,这有时是可取的。根据您的开发过程,您可能会发现更容易使用git本身(或gui for it,例如git扩展或sourcetree)来进行合并。 GUI版本可以很好地直观地显示您的分支和过去的合并,这使得更容易确定要运行的命令。
在命令行中,在gitlab合并之前恢复为提交后,请检查dev分支并将preprod合并到其中:
git checkout dev
git merge preprod
preprod更改将在dev上进行,但反之亦然(不要忘记推送dev)。 git merge命令的作用是将命令(preprod)中命名分支的更改合并到CURRENT分支(在本例中为dev,但是您可以验证当前分支运行“git branch”或“git status”)。
我提到的git工具的链接: git扩展:https://sourceforge.net/projects/gitextensions/ SourceTree:https://www.sourcetreeapp.com/