繁体   English   中英

已经与master合并的分支中的错误如何解决?

[英]How to fix a bug in a branch after it has already been merged with master?

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

  • git checkout -b分支名称
  • git push origin分支名称
  • 做我的改变
  • git添加
  • 使用git checkout HEAD删除不必要的更改—文件路径
  • git commit -m“提交消息”
  • git push origin分支名称
  • git checkout主
  • git pull起源大师
  • git merge分支名称
  • git push origin master
  • 如果我随后在代码中发现错误,则只需使用同一分支来解决问题,然后与master重新合并

这对您来说是否正确? 有更好的流程吗?

谢谢。

是的,您可以在分支机构中修复您的错误。 然后添加,提交,推送并与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            

您可以在分支上进行更改,然后再次将其合并为master,但是正如我所见,您已经将master和分支都推送到了远程存储库中。 请记住,您不应该修改已经推送到远程的提交,因此您不能使用git commit -a

也许更简单,更干净的方法是修复分支上的更改,然后仅对这一提交进行修复。 看起来像这样(假设您现在是主人)

$ 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

这样,您将对master和您的分支进行相同的提交和修复。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM