標籤:

github 自己創建了一個項目A,我的同事fork一個B,當我的項目更新的時候,怎麼樣在他fork的repo上進行相應的更新?

現在的做法是他在他的電腦上pull我github上的A,然後再push到他的github上的B上去。有沒有什麼操作,直接讓他的B去pull我的A。


  1. 先把B clone到本地

    git clone B_REPOSITORY_URL

  2. 再cd到本地B的目錄,把A作為一個remote加到本地的B中(一般命名為upstream)

    git remote add upstream A_REPOSITORY_URL

  3. pull另一個A的remote(upstream)的相應分支(比如master)就可以

    git pull upstream master

  4. 最後push回github的B_REPOSITORY

    git push origin master


gitlab或github下fork後如何同步源的新更新內容? - 高浩陽的回答

我在另一個問題下的回答。

-----

其實這種問題真的看看官方的幫助文檔就好了。


#先得將原來的倉庫指定為upstream

git remote add upstream https://github.com/被fork的倉庫.git

#再從原repo獲得那邊的更改

git fetch upstream

#最後merge到你自己的repo副本里去

git merge upstream/master

參考:

https://help.github.com/articles/fork-a-repo


可以在Github上發送Pull Request.

以前Github有Fork Queue,現在取消了,統一成了Pull Request.


俺看到的其他比較細緻的回答:

- Github fork其他項目的分支與主幹保持同步

- 如何同步 Github fork 出來的分支


我也在找這個問題的解決方法

可以參考這裡

花20分鐘寫的-大白話講解如何給github上項目貢獻代碼


如果你同事的B的代碼已經提交到A中,那這個時候,你可以讓你同事的B這個分支給刪掉,然後再重新fork下,那就不用重新pull和push了


這個做不到的把。。怎麼會有這種需求?

1 是 B 如果有提交的話,和 A 的提交在同一個 branch 上,那衝突顯然沒法自動處理

2 是 github 只支持 post commit hook, 沒說可以自動指定定時任務之類的事情

3 是,pull A ,再 push B 這個就是正確的做法了,因為他還可以有自己的其他提交


推薦閱讀:

Git commits歷史是如何做到如此清爽的?
使用git,用命令好還是客戶端好?

TAG:Git | GitHub |