如何在已经与master合并之后修复分支中的错误?

时间:2016-11-30 08:42:44

标签: git github

以下是我目前的流程。这个想法是稳定的主人。我们在自己的分支上进行更改,然后与master合并。

  • git checkout -b branch-name
  • git push origin branch-name
  • 进行更改
  • git add。
  • 使用git checkout删除不必要的更改HEAD - 路径到文件
  • git commit -m“commit message”
  • git push origin branch-name
  • git checkout master
  • git pull origin master
  • git merge branch-name
  • git push origin master
  • 如果我注意到我的代码中存在错误,我只需使用相同的分支来解决问题,并重新与主人合并

这对你来说是否正确?有更好的流量吗?

谢谢。

2 个答案:

答案 0 :(得分:0)

是的,您可以修复分支中的错误。然后添加,提交,推送和与master合并。

$ git checkout <branch-name>

Fix bugs here

$ git commit -am 'Fix bugs'        # add and commit
$ git push origin HEAD             

$ git checkout master
$ git pull origin master
$ git pull origin <branch-name>
$ git push origin HEAD            

答案 1 :(得分:0)

您可以对分支进行更改并将它们再次合并到master,但正如我所看到的,您已经将master和branch分别推送到远程存储库。请记住,您不应该修改已经推送到遥控器的提交,因此您无法使用git commit -a

可能更容易和更干净的方法是修复分支上的更改,然后 cherrypick 只需修复此提交。它看起来像这样(假设你现在在主人身上)

$ git checkout <branch-name>

fix bugs

$ git commit -m "fixes"
$ git push origin <branch-name>
$ git log
从git log获取提交ID ,它看起来像这样:

commit 4cc1c6ec2d5dc2ce21557681c9abddced1a56645
Author: your name <e-mail>
Date:   Wed Nov 30 10:51:45 2016 +0100
commit message

现在复制提交ID并使用它移动修复到主

$ git checkout master
$ git cherry-pick 4cc1c6ec2d5dc2ce21557681c9abddced1a56645
$ git push origin master

通过这种方式,您将在主服务器和分支机构上进行相同的修复。