在两个分支上已经完成许多提交后,如何将分支的特定提交推送到其他分支

How to push specific commit of branch to other branch after many commits are already done on both branches

我有两个远程分支 masterdev。我已经对 master 进行了一项更改,之后完成了其他提交。在第二个分支中,许多更改由其他开发人员提交。 问题:我想将 master 的一个早期提交推送到 dev 分支。

请给出解决方案

git push origin cdadasdv5676asdvvfavsd67868vasdsavvs:dev 对我不起作用。

**注意:我使用的是来自 dev 分支的上述命令。

您正在寻找 Git 的 cherry pick 函数。它将把一个分支的单个提交应用到另一个分支。它不会进行合并,因为在您的情况下(分支已经分叉),合并将不起作用。

这是你应该做的:

# Check out the dev branch: 
git checkout dev

# Cherry pick the commit from the master branch
# I assume that `cdadasdv5676asdvvfavsd67868vasdsavvs` is the hash of the commit you want to apply to dev: 
git cherry-pick cdadasdv5676asdvvfavsd67868vasdsavvs

就是这样。请注意,使用像 SourceTree 这样的 Git UI 客户端可以使这变得容易得多。

可在此处找到更多相关信息: