我有下一个方案:
master --> dev --> final --> prod
____________|^ ^
| | |____________________________
| |_______ |
| | |
next version --> dev --> bug fixed --> dev --> bug fixed --> .....
您可以从此方案中看到,我们已经完成并将主分支部署到生产中。然后,我们启动了该项目的新版本,并进行了另一个分支。在开发过程中,我们找到了一些错误,必须将其修复给两个分支。
以前我在编辑器中手动通过汇编窗口进行了操作,然后我的算法是:
(current branch "new version")
git add .
git commit -m "fixed bug"
git push
git checkout master
(put fixes manually)
git add .
git commit -m "fixed bug"
git push
但是最后一个修复程序是触摸多个作为HTML文件的JS。
在互联网中的一些研究中,我找到了2个选项:
1. git merge
-我能理解,这两个分支之间都将完全合并
2. git rebase
-我认为这是我想要的,但我不确定这是我需要的。
所以有人可以帮助我疑问吗?
您可以将最后一个提交从 new-version 到 master by cherry-pick
。
修复了new-version
分支中的错误。
$ git checkout new-version
$ git add .
$ git commit -m "Fixed bug"
$ git push
$ git log # copy the 'commit-hash' of last commit ("Fixed bug")
现在转到master
分支和cherry-pick
提交。
$ git checkout master
$ git cherry-pick <commit-hash>
$ git push