2017-05-29 93 views
0

在我的問題的上下文中,我從某個項目的分支upstream\master分支分支origin\master分支。分叉和同步git倉庫的策略

我的origin項目是一個完全獨立的項目,它具有新的功能,我永遠不會想要創建一個upstream\master的拉請求。但是,我想從upstream\master獲取更新並保持同步。

在這種情況下,origin\master是我項目的master分支,所以它應該是最穩定的分支,我想保護它,並限制推送操作。 (restricted branches

但是,如果我的理解是正確的,如果我想與upstream\master同步,我得到改變我的項目的本地master分支,解決衝突後,我需要把它推到origin\master,這是一個受限制的分支 - 所以我實際上無法做到這一點。此外,我不能因同樣的限制創建本地masterorigin\master pull請求..

更一般地說,直覺告訴我不覺得我的權利合併來自upstream\master直接origin\master

有誰知道這樣的場景是否有更好的策略?

回答

1

由於您當地的master分支是origin/master的工作副本,因此您需要將本地masterorigin/master同步。直接同步origin/masterupstream/master是沒有意義的。

如果您origin/master分支保護的不是推到遠程直接,你可以創建另一分支,並將它推到遠程,然後創建一個拉請求其合併到master。詳情如下:

#After you update local master to sync with upstream/master 
git checkout -b temp 
git push -u origin temp 

在GitHub的網頁 - >創建一個拉請求 - >合併temp支進master - >最後origin/master將在upstream/master分支更新。

要同步本地master分支origin/master

git checkout master 
git pull origin master