通常我可以使用cherry-pick
将推送提交移动到另一个存储库:我fetch
来自另一个'的相关分支。存储库到我的新仓库,cherry-pick
带有提交的ID。
我想对本地做同样的事情 - unpushed - 在腐败的存储库中提交(出错了,我无法推送我的更改,但我需要将它们移动到另一个repo)。
有没有办法让cherry-pick
从腐败的回购提交到另一个回购?
PS:两个存储库都存在于同一台机器上。
答案 0 :(得分:3)
您是否只需要将提交从一个本地仓库推送到另一个本地仓库?
git remote add local /path/to/repo.git
git push local master
答案 1 :(得分:3)
Remote不仅限于另一台计算机:如果您在/repo1
有一个存储库,而/repo2
有另一个存储库,只需添加即可将提交从repo1
复制到repo2
repo1
作为repo2
的远程使用文件系统路径:
cd /repo2
git remote add repo1 /repo1
您现在可以fetch
,pull
和cherry-pick
从repo1
提交到repo2
。
答案 2 :(得分:1)
另一种可能的方法。
cd repo1_path
git format-patch -1 <commit> --stdout > /tmp/xxx.patch
cd repo2_path
git checkout <branch>
git am /tmp/xxx.patch