如何还原在 parent 分支中选中的 child 分支中的文件?

How to revert file in child branch which is checked in parent branch?

假设我有像

这样的分支结构

我在 child1 中提交(修改和删除)了一些文件,并将其合并到 master 中。 现在我只想将该提交列表中的一个已删除文件还原到 child2 分支并保持 master 不变,这意味着它应该在 master 中保持删除状态。

我会做以下事情:

1) git log --online
2)get SHA of previous commit, git checkout <SHA before commit>  (detached head state)
3)Copy contents of file that are untouched
4)paste somewhere untouched content
5)git checkout master
6)copy content of touched file
7)paste touched file into child2
8)paste untouched file in master
9)commit in both branches
  1. 切换到 child 2:git checkout child2
  2. 从您想要的提交中检出您想要的文件:git checkout child1 files

如果 filechild1 指向的提交处被删除,并且您想要 删除之前的状态,请尝试 git checkout child1^ files