2012-06-26 86 views
2

的「副本」我看到的答案類似的問題,我敢肯定,我可能只是不熟悉不夠用Git和Github上的術語來知道它們是否適用於我的問題。我需要做的是克隆現有的Github遠程存儲庫(我有貢獻者可以訪問的另一個用戶名下的私人存儲庫),並在我的帳戶下創建一個新的專用遠程存儲庫。現有的回購用戶將對回購,刪除和重新推送做出重大修改,然後他們要求我克隆並創建一個副本,以便我們可以繼續在我的用戶下的回購協議中工作。如果可能,我想用repo保留提交歷史記錄。創建的github倉庫

我在本地克隆,但不似乎無法弄清楚如何把它推到一個新的遙控器,是不是生性原來的用戶。

回答

1

我們不得不有更多的細節,但很有可能你試圖做的事情是不必要的。

這是完全可能的所有者可以通過創建一個分支,使該分支實現他們的目標看他們如何渴望,可以更換主用它,如果這是所期望的最終目標。他們可以在不破壞所有現有歷史的情況下做到這一點。

或者,您可能可以分叉存儲庫。但是,請記住,如果他們要完全重寫歷史記錄,那麼假設這是一個目標,它可能會很難將您正在進行的工作集成到分支上。

您也可以通過刪除當前的遠程git remote rm origin來推送已克隆的副本,並創建一個指向您帳戶下創建的存儲庫的新副本。但是,如果原始存儲庫完全更改,那麼將難以整合在「副本」上完成的任何工作。

+0

我可能會誤解 - 但我認爲如果他們刪除或無法識別地改變上游,我的分叉/克隆也會受到影響?聽起來這樣的假設是不正確的。 – user1483934

+1

如果您隨後從中取出或取出,它們只會受到影響。 – wadesworld

+0

謝謝,這真的很有幫助,我幾乎從根本上對Git的工作方式感到困惑。 – user1483934

2

你不能完成你想要什麼樣的forking做GitHub上的倉庫,然後克隆,並就這一工作?

這也保留了這兩個倉庫之間的關係,並允許您的選項,在以後的日子,合併他們變成你的回購或反之亦然。

+0

由於它不以這種方式工作,我完全誤解了相對於上游的副本。 – user1483934

0

當使用GitHub的接口,最簡單的辦法就是fork a repo

另外,如在GitHub上的以下Duplicating a repository文章建議,您可以通過以下shell命令實現回購重複:

  1. 創建存儲庫的裸克隆:

    git clone --bare https://github.com/exampleuser/old-repository.git 
    
  2. 鏡像推送到新的存儲庫:

    cd old-repository.git 
    git push --mirror https://github.com/exampleuser/new-repository.git 
    
  3. 在步驟1中刪除您創建的臨時本地資源庫:

    cd .. 
    rm -rf old-repository.git