如何从当前分支仅推送最新提交到指定其他分支
如何把分支A的最新提交推送到分支B
没问题,这事儿用Git的几个常用命令就能轻松搞定,给你两种靠谱的方案,根据你的场景选就行:
方案一:先在本地合并提交再推送(最稳妥)
这个方法能让你先在本地验证提交的正确性,避免直接推远程出问题:
- 第一步,先拿到分支A上最新提交的哈希值。你可以跑
git log --oneline看提交记录,最顶部那条的短哈希(比如a1b2c3d)就是;或者直接用git rev-parse HEAD一键获取当前A分支的最新提交哈希。 - 切换到本地的分支B:
git checkout B - 把A分支的最新提交"复制"到B分支上,用cherry-pick命令:
git cherry-pick <你拿到的提交哈希>如果遇到冲突,Git会提示你手动解决冲突。解决完冲突后,执行
git cherry-pick --continue完成操作;要是不想继续了,用git cherry-pick --abort就能撤销。 - 确认本地B分支的提交没问题后,推送到远程:
git push origin B
方案二:直接推送指定提交到远程分支B
如果你确定这个提交和远程B分支没有冲突,也可以跳过本地合并,直接推:
- 同样先拿到A分支最新提交的哈希(或者直接用
HEAD代表当前A分支的最新状态) - 执行推送命令:
git push origin <提交哈希>:B这个命令的逻辑是:把本地的指定提交,推送到远程仓库的
B分支。如果远程B分支有你本地没同步的更新,Git会拒绝推送,这时候还是得用方案一先拉取远程更新、处理冲突后再操作。
小提醒
- 操作前确认一下,你要推送的确实是分支A的第16次提交,别搞错了提交哈希。
- 如果你们仓库的分支B是受保护分支(比如需要通过PR合并),那你可能得先把这个提交推到一个临时分支,再发起PR请求合并到B分支,具体看团队的仓库规则。
内容的提问来源于stack exchange,提问作者Ashish
相关产品推荐
相关产品推荐

