2016-04-04 59 views
0

我克隆了一個第三方Github repo,做了自己的修改,並推送到我自己的遠程我需要從不同的位置使用,通過創建我自己的裸遠程存儲庫並將其更改推送到它 - 基本如此:如何將克隆的Git倉庫的「主」分支更改爲指向您自己的遠程倉庫?

git init --bare ~/repos/customized.git 
git remote add customized [email protected]:/home/myname/repos/customized.git 
git push --all customized 
git remote rename origin upstream 

執行git branch -a產生這樣的輸出:

$ git branch -a 
* master 
    remotes/rca_customized/master 
    remotes/upstream/HEAD -> upstream/master 
    remotes/upstream/master 

我現在想的是讓主分支參考我customized回購使git push自動推送到我懷疑應該導致的產生下面的輸出。

$ git branch -a 
* master 
    remotes/upstream/master 
    remotes/customized/HEAD -> customized/master 
    remotes/customized/master 

我什麼不知道是完成我想要的東西在本地回購和推爲「自定義」,從其他地方克隆customized後是否會導致git branch -a輸出顯示origin它在說customized初始位置。我寧願它說customized而不是origin,但可能有很好的理由堅持原產地規則。

回答

1

您可以使用--set-upstream-to更改本地分支的跟蹤遠程分支。

$ git checkout master 
$ git branch --set-upstream-to customized/master 

the docs獲取有關遠程分支機構的更多信息。

origin只是git分配給您從中克隆的存儲庫的默認遠程名稱。遠程名稱只是URL的別名,並且對於每個存儲庫都是本地的。因此,您無法設置遠程設備來指示其克隆爲遠程引用設置除origin之外的特定名稱。如果您想使用其他名稱,則必須在克隆後手動重命名它。