【发布时间】:2020-09-24 19:42:16
【问题描述】:
假设我有两个 git 分支:
- 带有文件 1 和 2 的分支
a - 使用文件 2 分支
b
我在分支 a 中有一个提交,它修改了文件 1 和 2。
我结帐分支b 试图挑选这个提交,但我只想要更改文件2 的提交部分(因为分支b 没有文件1)。
这怎么可能?
【问题讨论】:
-
分支没有“拥有”文件。分支,即使是一个东西,也有提交。每个提交都有 all 文件。在您进行某个提交时,您可能只更改了某个文件,但该提交包含所有文件。它是事物创建时整个状态的快照。
-
@matt - 或者,一个分支上的提交有一个文件,而另一个分支上的提交没有(因为该文件不是在另一个分支的历史记录中创建的,也没有被删除)。提交不会自动“拥有所有文件”。 (并且要清楚 - 是的,在 git 术语中,说“在分支上提交”是脆弱的,而“在分支上的文件”更是如此,但 OP 的含义仍然非常清楚。)
标签: git git-cherry-pick