2017-03-14 284 views
0

我對於以前使用過TFS的GIT相當陌生。GIT - 克隆本地分支

我的問題是:我需要創建一個項目的幾個本地分支,並在它們之間切換和更換(偶爾到基本上同時打開兩個項目的時間點)。 爲了實現這一點,我創建了本地分支,然後將它們克隆到不同的文件夾中。

在我開發太深入之前,我只想檢查一下這種方法是否會導致任何問題呢?

編輯:添加一些更多的細節,以澄清我的工作。因此,爲了澄清,我有一個本地的存儲庫,我已經分支了幾次,然後我克隆了那些分支(從下面的評論意味着我有這些分支的新存儲庫)我仍然不明白爲什麼它將這些重新合併到我的本地主人中會更加困難。下面顯示了我擁有的。

enter image description here

所以,現在我的問題是,如果這將是更加困難的工作,以什麼樣的方式?這樣做有什麼缺陷?我需要經過哪些步驟才能將這些更改合併回主服務器?

回答

1

發佈精煉問題的另一個答案。

如果這將是更難的工作,以什麼方式?這樣做有什麼缺陷?我需要經過哪些步驟才能將這些更改合併回主服務器?

就像我提到的意見,我的第一個答案,每個克隆是一個獨立的庫,但指向同一個Git的URI,即//[...]/project_1.git,即只能通過remote相互連接

使用上面的圖來解釋,
要更新[本地主要]與[本地錯誤修正]發展,只有2種方式:

  1. 經由命令行

    • push [本地錯誤修復]至remotegit push origin bug-fixes
    • 開路端的第二實例>cd爲[本地主要] [本地主要]的
    • 更新GIT中指數:git checkout master>git pull origin bug-fixes
  2. 手動更新:

    • 複製[本地錯誤修正]的全部內容:Ctrl + A>Ctrl + C
    • 開新資源管理器窗口>導航到[local-Main]>覆蓋內容:Ctrl + A>Ctrl + V
    • 更新[local-Mait的git索引在]:git add .>git commit
+0

如果我提前想過,我會使用選項2 - 事後看來它會容易得多! – 5NRF

0

克隆他們到不同的文件夾

有兩個不同的文件夾將納入變化從一個到另一個困難,幾乎抵消使用Git

話雖如此,我按照這個工作流自己我的一些紅寶石項目

---- ----編輯

示範:

克隆項目進入C:/Projects/repoC:/Projects/repo_copy
結帳到分支demo並作出更改~repo/

在新的終端窗口中,導航至~repo_copy/並嘗試結帳在~repo/中創建的demo分支您將無法執行此操作。 demo分支在那裏不存在。

+0

真的嗎?它會以何種方式變得困難,這不僅僅是一種合併? – 5NRF

+0

說clone1在'C:/ repo /'和clone2在'C:/ repo_copy /'..它們是兩個不同的存儲庫,即使它們指向相同的Git URI – ashmaroli

+0

更新的答案案例scenaio – ashmaroli

0

爲了記錄在案,這是一個有點比正常更加尷尬,但不是很大。

處理過程如下: 1.在其中一個功能分支的克隆回購中提交所有內容,然後推入主回購庫。將來自克隆回購的代碼放入功能分支的主要回購庫中。 2.合併功能分支到主。 3.解決衝突 4.提交 5.按

所以比從克隆回購初始推(和衝突的夢魘)的過程中原位缺口其他多大區別 - I與雖然上述同意 - 我建議避免這種做法(我當然會)