git中A,B仓库(项目),如何把A仓库(项目)的一个commit剪切到B仓库(项目)中

A,B仓库(项目),如何把A仓库(项目)的一个commit剪切到B仓库(项目)中

以下操作都是在B项目中操作的哈【重要】

第1步骤:在项目B中添加项目A的远程仓库

git remote add web-console https://xxx.aa.cn/git/aaa-fe/web-a.git
或者使用
git remote add web-console ssh://xxx.aa.cn:32112/aaa-fe/web-a.git

https://xxx.aa.cn/git/aaa-fe/web-a.git 表示的是:项目A的git仓库地址(HTTPS方式)
ssh://xxx.aa.cn:32112//aaa-fe/web-a.git 表示的是:项目A的git仓库地址(针对SSH方式)

如果过了一段时间,还要从A项目中去剪切相关的commit的话
步骤1:不需要再执行了,步骤1只需要执行一次。
执行步骤2,3,4,5就行啦

第2步骤:拉取项目A的提交历史

git fetch project-A-Name

第3步骤:找到A项目需要的哈希值,如:commit:abc123

第4步骤:使用 git cherry-pick 应用提交

git cherry-pick abc123

第5步骤:推送到项目B的仓库

git push origin 分支名

如果你使用SSH方式设置仓库后,在执行git fetch project-A-Name时报错,怎么处理?

我们可以换为:HTTPS方式,移除原远程仓库并改用HTTPS URL:

# 移除原远程仓库
git remote remove project-A-Name  

# 添加新的远程仓库(HTTPS方式)
git remote add web-console https://xxx.aa.cn/git/aaa-fe/web-a.git

# 拉取项目A的提交历史
git fetch project-A-Name

# 剪切需要的commit
git cherry-pick abc123

# 推送到项目B的仓库
git push origin 分支名
posted @ 2025-04-18 21:23  南风晚来晚相识  阅读(71)  评论(0)    收藏  举报