在两个分支上已经完成许多提交后,如何将分支的特定提交推送到其他分支
How to push specific commit of branch to other branch after many commits are already done on both branches
我有两个远程分支 master
和 dev
。我已经对 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 客户端可以使这变得容易得多。
可在此处找到更多相关信息:
我有两个远程分支 master
和 dev
。我已经对 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 客户端可以使这变得容易得多。
可在此处找到更多相关信息: