好吧,我們有一個包含3個子模塊的存儲庫。現在我們要將這些子模塊合併回主存儲庫,保留所有的歷史記錄(當然,使用子模塊比使用有效性更令人頭疼)。我們如何繼續?將git子模塊合併到主存儲庫中
2
A
回答
4
比方說,你有以下的文件系統(並假設你只有一個子模塊,簡單的答案)
myRepoRoot/
myMainFiles/
submodule/
您需要做的僅僅
#Preparing the filesystems
cd submomdule
mkdir submodule
git mv file1 file2 dir1 dir2 submodule
git commit -am "Moved file"
#Actually merging
cd myRepoRoot
git remote add sub url_to_submodule
git fetch sub
git merge sub/master
上詞解釋:你有幾棵沒有共同提交的樹,你只需要合併這些樹。第二部分就是這樣做的。
第一部分只是確保子模塊的文件系統將是您所期望的。
+0
我修改了一下你的解決方案 - 我已經檢查所有存儲庫以分離目錄,從主存儲庫中移除子模塊,將子模塊存儲庫中的文件(同級目錄移動到主存儲庫目錄),提交的更改,在主存儲庫中添加「遠程」存儲庫,如「../submoduleA」等路徑然後從這些目錄中獲取更改併合並它們 - 無需推送到遠程存儲庫。 – Wojtek
相關問題
- 1. Git:從現有的存儲庫中創建Git子模塊並將父級更改反映到子存儲庫
- 2. Git:將子模塊合併到主模塊中,pull將不會覆蓋文件
- 3. 將帶子模塊的Git存儲庫導入Subversion存儲庫
- 4. 將git子模塊添加到存儲庫的根目錄中?
- 5. 如何強制git子模塊存在並在主存儲庫中提交?
- 6. 將子模塊添加到存儲庫
- 7. Git:合併和子模塊
- 8. 將CVS庫中的更改合併到GIT存儲庫中
- 9. 將Git存儲庫與遠程Git的子目錄合併
- 10. Git合併時切換到子模塊
- 11. 將子模塊的子目錄拆分到單獨的git存儲庫中
- 12. Git:如何添加遠程,合併到主存儲庫的子文件夾中?
- 13. 如何將git存儲庫合併到另一個存儲庫的分支中
- 14. 是否有可能將Subversion存儲庫作爲Git子模塊?
- 15. 將具有子模塊的git存儲庫轉換爲Mercurial?
- 16. 合併兩個Git存儲庫並保留主記錄
- 17. Git子模塊或子存儲庫或遠程?
- 18. git存儲庫中的依賴管理(使用子模塊)
- 19. Git:不存儲子模塊的歷史
- 20. 使用tarball將更改合併到Git存儲庫
- 21. 將git修訂合併到mercurial存儲庫的最佳方法?
- 22. 如何將新代碼合併到現有的git存儲庫?
- 23. git子模塊:哪個存儲庫應該被用作'子模塊'?
- 24. Git post-receive存儲庫的鉤子並找出哪個子模塊被推入
- 25. 在子目錄中合併git存儲庫
- 26. 在Git中,我該如何從存儲庫中獲取並獲取在該存儲庫的子模塊子repo中提交的所有子模塊更改集?
- 27. 如何合併2個git存儲庫?
- 28. Git:合併多個存儲庫
- 29. 交叉存儲庫分支合併git
- 30. 合併2相同的存儲庫GIT
可能重複[un-submodule git submodule](https://stackoverflow.com/questions/1759587/un-submodule-a-git-submodule) – Qw3ry