当我在 dev
分支进行持续更改,并且生产环境出现问题时,我切换到 master
,修复问题并将生产环境与 master
分支。
现在我回到 dev
分支。此分支与 test
和 staging
环境同步。
将 master 修复的内容带到开发分支的正确方法是什么?
目前我在 dev
分支执行 git merge master
。
但是当这样 merge 时,我注意到创建了一个新的提交,用于暂存来自 master
的修改后的文件。
merge 时我的印象是应用修复时在 master 上创建的提交只会被插入到 dev 分支中。
最佳答案
假设您的暂存环境是干净的(例如,您的开发分支上没有任何未提交或未 stash 的更改)...
git merge master
...是从主分支 merge 更改的惯用*方式。
当你 merge 时,你引入了该分支顶端的所有更改,所以你将同时引入来自 master 的所有更改,并且你必须处理 merge 冲突,如果他们存在。如果您不能将更改从主服务器快速转发到开发人员,那么您还将获得 merge 提交。
您可能会看到很多提交的原因可能是您无法快进您的开发分支以与主分支对齐。这不应该让你失望;只需将这些更改也提交并推送到您的开发分支即可。
*:您也可以在 dev
上执行 git rebase master
,但由于您正在重写历史,因此风险要高得多。不过,这会让历史更清晰。
关于git - 将 master merge 到 dev 分支的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39517456/