2017-02-10 63 views
3

我們有兩名學生從我們的在線存儲庫(不同的repo)開始工作,這個存儲庫從一個共同的上游回購協議中分離出來。Git從別人的叉子上拉下來

假設其他學生在特定的分支上做了變更,提交和推送到他的回購。

  1. 如何將這些更改引入我自己的本地存儲庫?

  2. 我是否需要提交併將這些更改推送到演示區域?

謝謝!

回答

0

提交併推送您的工作分支。然後從主分支合併到你的分支。確保所有構建和解決任何衝突。提交併推送你的分支。現在將你的分支合併到主分支中,它應該可以工作。

8

只需在您的own回購中添加新的遠程設備(例如,other)。然後將other/<branch>更改爲您的本地分支(例如,add-other-changes)。推到你自己的分叉回購(origin/add-other-changes)。現在,當您完成add-other-changes分支時,創建拉取請求&與origin/master合併。

  • 拉其他回購的變成自己的回購協議:

    # go into your own repo 
    $ git remote add other <other-student-repo-url> # add a new remote with other's repo URL 
    
    $ git fetch other  # sync/update local with other's repo 
    
    $ git checkout -b add-other-changes  # create a new branch named 'add-other-changes'      
    $ git pull other <specific-branch-name> # pull other/<branch> changes   
    
    $ git push origin HEAD # push changes to your own(origin) forked repo `add-other-changes` branch 
    
+0

完美!謝謝:) –

+0

現在完成了,如何跟蹤其他學生的變化? –

+0

'git fetch other'會更新您的本地並與​​其他學生的回購更改。如果你需要任何特定的分支變化,那麼就把它拉到'git pull other '。 –

0

如果你既想在同一項目上工作,那麼你不應該兩次分叉的存儲庫。你或你的朋友(不是兩個)應該分派存儲庫,那麼你們都應該在本地克隆分叉的(權限需要由分叉存儲庫的人授予)。

完成此操作後,當項目成員想要知道遠程設備上是否有新的更改時,他們可以執行git remote update或更常見的git fetch origin

如果你工作在同一分支上,你想用遙控一個git pull origin <branh_name>

更新本地分支如果一個人已經提出,應該得到共享的變化:

git add file_path_1 file_path_2 directory_path1 ... 
git commit -m "<your brief message>" 
git push origin <branch_name>