2013-06-12 241 views
0

我正在尋找一些關於如何更好地執行此操作的建議。 這是事件發生的順序:Gerrit和Git工作流程

  • 變化1推到服務器
  • 變化1由項目業主修改,合併到主
  • 我拉主,遇到衝突
  • git reset --hard HEAD~2忽略本地變更集,然後再從主服務器上再次拉出或手動合併衝突並再次提交,但在這種情況下,我的主服務器會與上游主服務器不同,然後上游主服務器將會不同

什麼是最好的處理方法?現在這些變化很小,但如果它變得更大,那麼我認爲刪除最後一次提交併不是一個好主意。

請指點

回答

1

從不同的分支比你遠程跟蹤的一個推更改。也就是說,只需通過拉動更新本地master,並僅從非master分支中進行推送。工作流程是這樣的:

git co master      # switch to master branch 
git pull        # update from origin 
git co -b work      # make a working branch 
...         # work work work 
git commit -m "My #1 commit message" # commit 
git push HEAD:refs/publish/master # push to gerrit for publishing on master 
...         # wait wait wait 
git co master      # switch to master branch 
git pull        # update... 

等等,等等等等

+0

這聽起來像一個好辦法,謝謝 – uncletall