切割后连接git历史记录
我的两份回购协议来自同一个项目。我在提交切割后连接git历史记录,git,git-rewrite-history,git-history,Git,Git Rewrite History,Git History,我的两份回购协议来自同一个项目。我在提交3后剪切历史记录,现在只使用RepoProjectnameWorking git日志回购“ProjectnameArchiv”: 30114b2afac5d1c5a968441151ee8f91fc015ff3 4 9aa472d04501a14b5b704fde32445461f99f539a 3 1d0e5abe5daf60c0d86819938ba1aefd44b87ff5 2 766f4880e8ccf61bdc718dfae62466f800ae
3
后剪切历史记录,现在只使用RepoProjectnameWorking
git日志回购“ProjectnameArchiv”:
30114b2afac5d1c5a968441151ee8f91fc015ff3 4
9aa472d04501a14b5b704fde32445461f99f539a 3
1d0e5abe5daf60c0d86819938ba1aefd44b87ff5 2
766f4880e8ccf61bdc718dfae62466f800ae8119 1
2932c4b8ea681f0a97bf151ccc46d2044e8e5a50 5
27ec1a4618f1bf0025b8ba83fd69c2607cdf78d4 4
git日志回购“ProjectnameWorking”:
30114b2afac5d1c5a968441151ee8f91fc015ff3 4
9aa472d04501a14b5b704fde32445461f99f539a 3
1d0e5abe5daf60c0d86819938ba1aefd44b87ff5 2
766f4880e8ccf61bdc718dfae62466f800ae8119 1
2932c4b8ea681f0a97bf151ccc46d2044e8e5a50 5
27ec1a4618f1bf0025b8ba83fd69c2607cdf78d4 4
有没有办法在以后将历史记录和项目文件连接到一个 git日志回购“项目名称”
编辑:
30114b2afac5d1c5a968441151ee8f91fc015ff3 4
9aa472d04501a14b5b704fde32445461f99f539a 3
1d0e5abe5daf60c0d86819938ba1aefd44b87ff5 2
766f4880e8ccf61bdc718dfae62466f800ae8119 1
2932c4b8ea681f0a97bf151ccc46d2044e8e5a50 5
27ec1a4618f1bf0025b8ba83fd69c2607cdf78d4 4
- 在Repo“ProjectnameArchiv”提交4-从cut获取新哈希
- 创建公共远程存储库:
/some/other/path> git init . --bare
- 在
9aa472d04501a14b5b704fde324454461f99f539a的
中创建一个分支,并将其推送到远程:ProjectnameArchiv
ProjectnameArchiv> git branch merge-base 9aa472d04501a14b5b704fde32445461f99f539a ProjectnameArchiv> git remote add origin file:///some/other/path ProjectnameArchiv> git push --all
- 在其他回购协议中执行相同操作,但取数而不是推数:
ProjectnameWorking> git branch working-top 2932c4b8ea681f0a97bf151ccc46d2044e8e5a50 ProjectnameWorking> git remote add origin file:///some/other/path ProjectnameWorking> git fetch origin
- cherry选择归档分支中的第一个工作提交:
ProjectnameWorking> git checkout -b archive origin/merge-base ProjectnameWorking> git cherry-pick 9aa472d04501a14b5b704fde32445461f99f539a
- 如果您只有几个提交,您可以继续选择,但是如果提交的数量较多,则将其余工作分支的基础重新设置到归档分支上会更快:
您可以添加git的ProjectnameWorking> git rebase --onto archive 9aa472d04501a14b5b704fde32445461f99f539a working-top
选项,在它启动之前检查它正在做什么,如果出现问题,可以中断进程-i
之后,工作存储库的更改被添加到存档存储库中,但它们会得到新的SHA。如果我尝试git checkout-b archive origin/merge base,我会得到错误:致命:无法更新路径并同时切换到分支“archive”。您是否打算签出无法解析为提交的“源/合并基”?@Gh0stscript git branch--list--remotes?ProjectnameWorking>git branch--list--remotes origin/master的输出是什么在推送归档文件时,您可能需要添加
--all
开关。我更新了答案。我意识到commit 4在两个项目中都存在(更新问题)…所以我不知道git rebase——归档文件9aa472d04501a14b5b704fde32445461f99f539a的错误是否来自于此。错误:冲突(添加/添加):Test.txt修补程序中的合并冲突在0001 4失败。失败的修补程序副本位于:.git/rebase apply/Patch中