首页 > 解决方案 > git cherry-pick 从一个远程到另一个远程导致不同的提交 ID

问题描述

我有两个远程存储库remoteAremoteB另一个(一个是镜像)。我提交了一项更改,remoteA并且我还计划对remoteB.

我可以使用以下命令将更改从remoteAto 移植到remoteB

git push remoteB COMMIT_HASH_FROM_REMOTEA:mainline

另一种方法是我可以git cherry-pick用来选择COMMIT_HASH_FROM_REMOTEA本地分支跟踪remoteB分支,然后推送此提交。

我注意到如果我使用第一种方法,两个遥控器的提交 ID 将是相同的。但是对于第二种方法,提交 ID 是不同的。

git 是否足够聪明,可以在第二种方法下找出不同的提交 ID 实际上是相同的?换句话说,如果我使用第二种方法将更改推送到remoteB,这是否会给其他人带来任何麻烦(例如:合并冲突),因为 git 以某种方式认为这两个遥控器开始分歧?

谢谢你。

标签: git

解决方案


所以你有两个带有相同代码副本的远程存储库?至少可以说,这有点令人困惑。这些分支是不是单独的存储库?

这是有关您的樱桃选择提交哈希内容的信息

我认为您不应该在您可能已经拥有的任何内容之上遇到由此引起的额外合并冲突的问题,但是您可以使用一些替代策略(可能使用git reset命令行参数)来缓解您的哈希问题。


推荐阅读