如何将最后一个提交从一个分支复制到主分支



我有下一个方案:

 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 

最新更新