首页 > 解决方案 > 当我想获得另一个文件的未修改版本时,如何只提交一些文件?

问题描述

我认为这是关于 git 最常见的问题。但我有具体的问题。

例如,我在本地 git 中有几个文件并修改了其中一些。一旦我回忆起我在文件中犯了一个错误,但我想将更改保存在其余文件中。我可以通过 git add 将它们的状态更改为暂存,但是如何仅提交选定的文件并返回我现在不想提交的文件的原始版本。

所以,我想,我的问题是如何通过保存另一个文件的更改来返回文件的未修改版本。谢谢

标签: gitgithub

解决方案


您可以在 Git 2.23+(2019 年 8 月)中使用新命令 git restore比 更少混淆git checkout

您可以恢复索引和工作树(这与 using 相同git-checkout

$ git restore --source=HEAD --staged --worktree hello.c

或者更实用但可读性较差的简短形式:

$ git restore -s@ -SW hello.c

推荐阅读