将具有完整历史记录的Git repo A移动到Git repo B(非空)
我想将我的所有文件从Git Repo A移动到Git Repo B,并具有完整的历史记录。Git B已经包含另一个项目文件。我尝试了几种方法,例如 我尝试通过终端执行所有提交。但是我得到的是将具有完整历史记录的Git repo A移动到Git repo B(非空),git,macos,version-control,Git,Macos,Version Control,我想将我的所有文件从Git Repo A移动到Git Repo B,并具有完整的历史记录。Git B已经包含另一个项目文件。我尝试了几种方法,例如 我尝试通过终端执行所有提交。但是我得到的是“git过滤器分支致命:myDirectory/:'myDirectory'在存储库外部执行git过滤器分支--子目录过滤器muDirectory--all时无法获得提交” 我需要详细的指导,逐步将所有文件从一个回购协议转移到另一个回购协议。如有任何帮助,将不胜感激。 进入repoB并添加一个带有repo
“git过滤器分支致命:myDirectory/:'myDirectory'在存储库外部执行git过滤器分支--子目录过滤器muDirectory--all时无法获得提交”
我需要详细的指导,逐步将所有文件从一个回购协议转移到另一个回购协议。如有任何帮助,将不胜感激。
- 进入
repoB
并添加一个带有repoA URL
的新遥控器(例如,repoA
)
- 使用
repoA/master history
签出新分支(例如,branchA
)李>
- Git将所有文件夹/文件移动到新的子目录
RepoA
。命令gitmv
- 在
branchA
中提交更改李>
- 签出
master
分支并合并branchA
分支李>
按照以下命令操作:
# go into repoB master branch
$ git remote add repoA <repoA-url>
$ git remote -v # confirm repoA is added named 'repoA'
$ git fetch repoA
$ git checkout -b branchA repoA/master
$ git mv <folder/file> repoA/<folder/file> # repeat untill all files/folders are moved
$ git commit -am 'Moved repoA folder/file into repoA dir'
$ git checkout master
$ git merge branchA
$ git add .
$ git commit -m 'Added repoA into repoA directory'
$ git push origin master
#进入repoB主分支
$git远程添加repoA
$git remote-v#确认添加了名为“repoA”的repoA
$git
$git结帐-b branchA repoA/master
$git mv repoA/#重复,直到移动所有文件/文件夹
$git commit-am“已将repoA文件夹/文件移动到repoA目录”
$git签出主机
$git合并branchA
$git add。
$git commit-m“已将repoA添加到repoA目录”
$git推送原始主机
Git子树:您还可以使用以下工具来完成此操作:
$git子树添加--prefix=repoA/master
将repoA的master分支
拉入名为repoA
的子目录中,将一个repo移动到另一个非空repo中会产生什么结果?我的repo B已经有Proj1和Proj2。现在我想把RepoA作为Proj3移动到RepoB中,并包含RepoA中的所有提交历史记录。我变得很致命:在git pull RepoA master后拒绝合并无关历史记录错误你能在OP(原始帖子)中附加你的命令和错误详细信息吗?顺便问一下,你想把RepoA
作为一个单独的repo添加到你的RepoB
,还是,仅根目录中的所有文件夹/文件?与根目录中的文件夹一样directory@SasiM——允许不相关的历史记录
。
$ git subtree add --prefix=repoA/ <repoA-url> master