git提交a仓库内容到b仓库

101 阅读1分钟

问题

工作的时候搞了两个仓库,但是又有同样的内容需要提交,在a仓库改完还需要提交到b仓库,这边在网上搜索都没法解决,后来通过GPT解决了,这边记录一下,也希望能对有同样问题困扰的朋友们有所帮助。

解决

要将 B 仓库中的两个新的提交 cherry-pick 到 A 仓库,你可以按照以下步骤操作:

1. 确保你已经克隆了两个仓库
如果你还没有克隆 A 和 B 仓库,请执行以下命令:

git clone <A仓库的URL> a_repo  
git clone <B仓库的URL> b_repo  

2. 获取 B 仓库的提交哈希值
进入 B 仓库的目录并列出最近的提交记录,以获取你要 cherry-pick 的提交哈希值。

   cd b_repo  
   git log  

   找到你需要 cherry-pick 的两个提交的哈希值,例如 commit1_hash 和 commit2_hash

3. 添加 B 仓库为 A 仓库的远程仓库
进入 A 仓库的目录并添加 B 仓库作为远程仓库。

   cd ../a_repo  
   git remote add b_repo ../b_repo  

4. 获取 B 仓库的提交记录
从 B 仓库获取提交记录,这样你可以在 A 仓库中访问 B 仓库的提交。

   git fetch b_repo  

5. cherry-pick 提交
现在你可以在 A 仓库中 cherry-pick B 仓库的提交。

   git cherry-pick commit1_hash  
   git cherry-pick commit2_hash  

可能遇到的问题

fetch失败

检查下自己文件的位置是否正确,GPT这边给的实例是这样的

image.png

如果分不清,可以使用绝对地址