我想将一个存储库合并到另一个存储库的文件夹中。
当前,它看起来像这样:
我有多个存储库,例如A,B,C ..
-> A
.git
-> B
.git
-> C
.git
然后我只有一个存储库,例如R,它包含文件夹A,B,C(不是git存储库,而只有包含与以前的A,B,C git存储库几乎相同的东西的文件夹):
-> R
.git
A
B
C
我想将A存储库与R存储库中的A文件夹合并,将B存储库与R存储库中的B文件夹合并,等等。
最好的解决方案是什么?
tree
git存储库中分支的s的结构确定最终的合并。我不相信您可以说“从此遥控器合并此分支,但将其合并到此文件夹”,因为这将需要git重新解释所有tree
对象。
我不确定您可以使用仓库A,B和C做些什么,但是如果我将仓库A重组为具有一个模仿“ R”的“ A”文件夹,则可以例如git merge repoA/master --merge-unrelated-histories
添加repoA
为遥控器之后。
zrrbite@ZRRBITE MINGW64 /d/dev/git/repotest (master)
$ git fetch repoA
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 2 (delta 0), reused 0 (delta 0)
Unpacking objects: 100% (2/2), done.
From D:/dev/git/repotest_A
b73c55c..0b2748b master -> repoA/master
zrrbite@ZRRBITE MINGW64 /d/dev/git/repotest (master)
$ git merge repoA/master --allow-unrelated-histories
Merge made by the 'recursive' strategy.
A/file_from_A.txt | 1 +
1 file changed, 1 insertion(+)
create mode 100644 A/file_from_A.txt
zrrbite@ZRRBITE MINGW64 /d/dev/git/repotest/A (master)
$ ls
file_from_folder_A.txt file_from_repo_A.txt
如果我有相同名称的文件,例如,file_from_folder_A.txt
那么我将简单地解决合并冲突:
zrrbite@ZRRBITE MINGW64 /d/dev/git/repotest (master)
$ git merge repoA/master --allow-unrelated-histories
CONFLICT (add/add): Merge conflict in A/file_from_folder_A.txt
Auto-merging A/file_from_folder_A.txt
Recorded preimage for 'A/file_from_folder_A.txt'
Automatic merge failed; fix conflicts and then commit the result.
zrrbite@ZRRBITE MINGW64 /d/dev/git/repotest (master|MERGING)
...
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句