2012-07-28 119 views
0

使用Tortoise GIT的Iam。是否可以在一個本地文件夾中維護2個遠程存儲庫?我有一個遠程主存儲庫,然後有一個臨時遠程存儲庫,總是遠遠超過主存儲庫。我創建了一個本地回購,並從主遠程回購拉。然後我創建了一個新的分支,試圖從遠程分段回購中拉出來,它給了我1000多個衝突和3000多個修改過的文件。我如何解決這個使用龜GIT?在單個本地文件夾中維護3個遠程存儲庫

+0

你想要達到什麼目的?聽起來像你混淆了知識庫和分支的含義。 – iltempo 2012-07-28 15:37:15

+0

我想在本地機器上有一個文件夾,可以用來保存GITHUB中的所有3個遠程存儲庫。但由於主線中提到的原因,我無法做到這一點。 – papfan 2012-07-28 16:27:15

+0

但是,遠程存儲庫實際上是分叉還是單個存儲庫的分支?他們是否有共同的歷史,或者他們是不相關的文件集,它們碰巧具有相似的名稱和類似的代碼? – 2012-07-28 22:04:05

回答

0

你的問題只是對git pull的誤解。假設你的兩個遙控器叫做originstaging,你正在做的工作是master

現在,您已經設置了master來跟蹤遠程origin。沒關係。但現在你發出:

git pull staging master 

git pull是做什麼的?它將指定的分支獲取到.git目錄中的FETCH_HEAD,然後將其合併到當前分支中。這就是它所做的 - 在默認跟蹤分支(如果未指定命令)或指定的分支(如果是)上進行提取並進行合併。

您正在將登臺存儲庫的版本master合併到您的origin存儲庫的master副本中。如您所述,staging存儲庫比origin存儲庫「提前」多了。因此合併衝突。

你沒有做錯任何事情。實際上,在一個本地副本中跟蹤多個存儲庫是git中的標準操作(在工作中,我跟蹤12)。

試試這個(再次,假設一個回購協議staging,一個是origin,並且都使用master分支):

git checkout -b development --track staging/master 

這將簽出一個名爲「發展」本地分支,這將是建立跟蹤您的暫存儲存庫的主分支。您現在可以根據需要在該分支上發行git pull,除非您明確告訴它,否則它不會嘗試將生產的master分支合併到自身中。

相關問題