我在stackoverflow上尝试了很多答案但是它们似乎都没有按照我想要的方式工作。基本上我有一个主存储库,我已经创建了一个分支(例如:' feature'),我需要添加另一个完全不相关的存储库作为此功能的文件夹'科。我需要从导入存储库中获取历史记录以进行合并。我该怎么做呢?
一个小插图:
"Project to import"
- "XXX folder"
- "YYY file"
"Main repository" - "feature-branch"
- "ABC folder"
- "Feature folder" - #How it should look after merging
-- "Imported files from other repo"
答案 0 :(得分:0)
可能的解决方案。
git remote add imported <url_to_imported>
。git fetch imported impbr:impbr
。git checkout -b impbr remotes/imported/impbr
。git remote remove imported
。git mv . Feature/ && git add --all . && git commit -m 'Moved all files to "Feature" dir.'
git checkout feature && git merge impbr
。git branch -d impbr
。答案 1 :(得分:0)
我假设您要将合并的存储库添加到新目录。
尝试以下命令
git remote add unrelated <url-of-other-repo>
git fetch unrelated <branch-in-other-repo>
mkdir -p <path/to/new/code>
touch <path/to/new/code/>temp
git add <path/to/new/code/>temp
git commit -m 'Bring in new directory'
git merge --no-ff unrelated/<branch-in-other-repo> -s recursive -Xsubtree=<path/to/new/code>
git rm <path/to/new/code/temp>
git commit --amend --no-edit
git remote remove unrelated
(您需要添加临时文件,因为Git不会跟踪空目录。)
这将为您提供定期合并提交,其中包含双方的所有历史记录。