2010-02-04 88 views
10

我們已經在內部使用GIT很長時間了,並且在我們的團隊中擁有相當不錯的工作流程。昨天我們希望向Github上的項目提交一些錯誤修復。這對我們來說是新東西。所以,這就是我們所做的:GitHub,git,如何提交更改上游回購

  1. 克隆其回購
  2. 分叉上游
  3. 增加了我們的叉作爲遠程
  4. 修正了一些在主分支錯誤
  5. 推主對我們的遠程叉
  6. 發送pull請求
  7. 他們拉到了變化
  8. 混帳取起源
  9. 在主:混帳合併origin/master的

這是做事的正確方法是什麼?我們最終得到了一個額外的「Merge commit'origin/master'」消息,其他開發人員似乎沒有得到。同樣在日誌中,我們可以看到我們提交了兩次。

一切似乎都沒問題,但它只是感覺不對。有沒有人知道任何好的github工作流頁面。 git幫助頁面似乎錯過了如何執行本地修改部分。

我想,如果我們在將更改推送到分支之後回滾了主分支,我們就不會遇到這個問題,但那也不是那麼正確。

任何幫助將不勝感激!

回答

8

這是一種方式。
我更喜歡克隆我的 GitHub回購(一個分叉GitHub項目「theirRepo」),而不是直接克隆現有的「theirRepo」。

而且我會建議在「theirRepo」之上重新定位主分支,而不是合併。
我相信會避免在日誌中看到你的提交兩次,並會避免額外的「合併」提交消息。

  1. 叉theirRepo在myRepo
  2. 克隆myRepo
  3. 增加了 「theirRepo」 作爲遠程
  4. 固定在主分支
  5. 推主對我們的遠程叉 「myRepo」
  6. 一些bug發送拉請求
  7. 他們拉動變化
  8. git fetch theirRepo
  9. 在主:git rebase theirRepo/master

又見討論了各種類似的戰略(爲另一種情況,但可以給你一些想法)在此SO問題:How do I re-play my commits of a local git repo, on top of a project I forked on github.com?

+0

感謝您的幫助,真的很感激。如果我在取消後重新綁定,這將撤銷我的提交,應用他們的提交(現在包括我的拉),並重新播放我的右上角? git是否承認提交的內容相同,或者我錯過了這裏的某些東西? – tsdbrown 2010-02-05 09:44:22

+0

@tsdbrown Git應該檢測到類似的提交(相同的SHA1) – VonC 2010-02-05 10:08:23

+0

太棒了,我希望情況會如此。下次我會給這個。 – tsdbrown 2010-02-05 12:58:34

相關問題