git - gitcherry-pick 中跳过的文件会包含在以后的 git merge 中吗?

标签 git git-merge git-cherry-pick

我正在使用 Moodle 2.9.4 开发一个项目

我想从 Moodle 3 中挑选一些代码

但我不想在提交中包含一些更新的文件。

最终该项目将使用 git merge 升级到 Moodle 3

排除的文件会包含在 merge 中吗?

如果没有,最好的解决方案是什么?

最佳答案

我认为有两种方法可以理解你的问题:

Will files that are skipped in git cherry-pick be included in a later git merge?
If I exclude them from the cherry-pick, will the merge still add them?

是的

Will files that are skipped in git cherry-pick be included in a later git merge?
Will I get troubles with these files when merging if I exclude them from the cherry-pick?

没有

Git 只关心更改,因此cherry-pick 只是将一些更改从一个分支复制到另一个分支。通过排除提交中的一些文件,您实际上排除了更改,以便以后的 merge 变得更容易。
如果您曾经与 Moodle 3 merge ,那么您可能会在从 Moodle 2 中精心挑选的更改上遇到 merge 冲突,如果 Moodle 3 分支在您 merge 之后对这些更改带来了更多更改精心挑选的它们。

TL;DR:您挑选的更改越少,将来就越容易,因此在我看来,这是一个很好的策略,可以从挑选中排除您不需要的文件。

(我喜欢简短的回答,但如果您有不明白的地方,请毫不犹豫地要求更精确。)

关于git - gitcherry-pick 中跳过的文件会包含在以后的 git merge 中吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40016872/

相关文章:

git - 可以将另一个分支 merge 到我的分支中,然后将它们 merge 到 master 中吗?

Git 向后挑选两次提交之间的差异

git - git 命令的快捷方式

Git:如何克隆第一个提交?

git - 仍然比较 Squash merge 后的 promise 差异

Git cherry pick 创建重复提交

git cherry 采摘到不同的基本目录

git - Git中如何忽略某个目录及其子目录中的某个文件类型?

git - 如何查看上次提交中更改了哪些文件

Git rebase 分支,以便提交和未暂存的更改不会被删除或丢失