是否有 git瓷器命令可以将暂存文件的工作目录状态恢复为其 HEAD 状态,同时保持文件的暂存状态?稍后我希望能够将工作目录状态恢复为文件的暂存状态。我最初的想法是使用git checkout HEAD -- targetfile
,但它也重置了文件的暂存状态。我看到这是可行的git stash
,但它会影响其他文件,而我想专注于单个文件并保持其他文件的状态不变,否则可能会导致合并冲突:
git add targetfile
git stash
... // modify tagetfile in seeking of different task solution, possibly modifying other files too
git checkout HEAD -- targetfile //drop the different solution attempt, keep other modified files if any
git stash apply --index // revert to the stashed staged solution, but produces merge conflict for other modified files
我在最后发现了一篇不错的文章,其中缺少该问题中描述的场景。在我看来,这应该很容易实现,但我很惊讶暂存目录状态和工作目录状态如此紧密耦合 - 您可以在保留文件工作目录状态的同时重置文件的暂存状态,但我很难做到相反。