Git:在分支签出/切换时对工作树应用一些(但不是全部)更改
是否可以告诉Git在分支切换/签出时将所有更改应用于工作树,除非更改构成文件删除 考虑一个Git回购,其中branchGit:在分支签出/切换时对工作树应用一些(但不是全部)更改,git,Git,是否可以告诉Git在分支切换/签出时将所有更改应用于工作树,除非更改构成文件删除 考虑一个Git回购,其中branchbranchA包含文件foo和bar,但branchB没有 在正常情况下,如果我在branchA上,当我git切换branchB或git签出branchB时,文件foo和bar将从我的工作树中删除 在本例中,切换分支后,我希望foo和bar在git status输出中列为“untracked”,同时保持工作树中的文件未被触及。所有其他更改(修改、重命名、添加)都应该像正常情况一样
branchA
包含文件foo
和bar
,但branchB
没有
在正常情况下,如果我在branchA
上,当我git切换branchB
或git签出branchB
时,文件foo
和bar
将从我的工作树中删除
在本例中,切换分支后,我希望
foo
和bar
在git status
输出中列为“untracked”,同时保持工作树中的文件未被触及。所有其他更改(修改、重命名、添加)都应该像正常情况一样应用于工作树。在这种情况下,您需要做的是从branchA获取这些更改,因为正常的流命令会将它们删除
git checkout branchA -- foo bar
git reset foo bar
那太不幸了。至少可以用
diff--name status
编写脚本。这并不不幸。您要求git以一种特殊的方式运行(如果他们移动到没有这些文件的分支或修订版,谁通常希望看到他们所在的分支中的文件?)。。。。。而且这是可以做到的(正如我刚才所展示的),只是在签入branchB
时不能直接做到。