git - 如何在 git 中一次提取一系列提交?

标签 git merge cherry-pick

我在一个 fork 中有一系列提交,我想一次向我的 fork 应用或拒绝一个提交。我应该使用 gitcherry-pick 吗?

最佳答案

我会为此使用交互式 rebase :

git rebase -i master fork-branch

当 git 询问你想对每个提交做什么时,告诉它编辑所有提交(搜索并替换选择 -> 编辑)。保存并退出,交互式 rebase 将完成提交,在每个提交处停下来让您做您的事情。进行测试,决定是否要保留它。如果这样做,只需运行 git rebase --continue继续下一步。如果没有,请运行 git reset --hard HEAD^重置到上一个提交,丢弃您不需要的提交,然后继续git rebase --continue .

如果有您立即知道不需要的提交,您可以将它们从列表中删除,而不用更改选择进行编辑。当然,如果我完全误解了,并且您不需要进行任何测试,那么您几乎可以忽略前一段,并通过有选择地删除行来完成这一切。

关于git - 如何在 git 中一次提取一系列提交?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3469163/

相关文章:

git - 执行部分 merge 后如何重新 merge 分支

Git:在不更改工作目录的情况下在分支之间移动更改

mercurial - 使用 hg pull/push/merge/graft 将更改标记为已 merge 或故意忽略?

TFS 分支和合并策略

Git 相当于 which/where

git - 当我 'git push' 时,git 钩子(Hook)是否被推送到远程?

c# - 如何使用C#将两个音频文件和一个视频文件合并为一个视频文件?

git - 运行本地和全局 git hooks

GitLab fork 远程公共(public) repo

php - 如何合并两个不同长度的数组,同时删除一个数组的一部分?