git - "git cherry-pick --continue"和 "git commit"和有什么区别?

标签 git

如果cherry-pick遇到冲突,git会提示执行gitcherry-pick --continue

You are currently cherry-picking commit 71e26b4f.
  (all conflicts fixed: run "git cherry-pick --continue")
  (use "git cherry-pick --abort" to cancel the cherry-pick operation)

Changes to be committed:

        modified:   app/file1.ts
        modified:   app/file2.ts

此时,我们也可以执行git commit

那么gitcherry-pick--continuegit commit之间有什么区别?

最佳答案

gitcherry-pick 命令可以被指示挑选多个提交。

如果您已经这样做了,并且正在修复早期提交的冲突,那么:

git commit

将完成那个精选而不继续剩余的内容,同时:

git cherry-pick --continue

首先会提交(并因此完成)精选的内容,然后继续其余部分 - 可能会在稍后的 merge 中再次因另一个 merge 冲突而停止。

简而言之,如果您只挑选一项提交,“完成此提交并继续其余的”会产生与“完成此提交”相同的结果,但如果没有,则不会。

(这是对多个提交进行操作的各种 Git 命令的一般主题,最常见的其他情况是 git rebase - 这本质上是一系列精选!在现代Git,这两个命令都使用 Git 所谓的“sequencer”,但最近,rebase 是一组复杂的 shell 脚本。)

关于git - "git cherry-pick --continue"和 "git commit"和有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62954055/

相关文章:

git commit 命令无限期挂起

git - 为什么在使用 --single-branch 时 Git 无法解析远程分支?

Git .git/info/refs 无效 : is this a git repository?

php - 从 Git pull 到 Wordpress 和桌面服务器

git - 如何从 RTC Jazz 迁移到 Git?

git - VSTS 生成关联的提交

Git 分支 Bash 变量快捷方式

git - 从 Haskell 中的 git packfile index 获取魔数(Magic Number)

linux - 尝试运行 make 命令时出错

git - 解释 git diff 输出