簡體   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