如何仅丢弃不在暂存区域中的更改?

时间:2016-09-15 22:02:30

标签: git

如何只丢弃不在暂存区域内的更改?

假设:

$ cat file.txt
Hello
$ git add file.txt
# edit file.txt
$ cat file.txt
Hi

如何将file.txt的内容与上次编辑之前和git add命令之后的内容无需手动编辑后获取?

真实案例场景是我有这些以编程方式生成但必须提交到存储库的文件(例如,Django迁移)。我想重新生成文件,但只提交一些更改。所以我使用git add -p选择我想要的更改,然后我想放弃未选择的更改。

1 个答案:

答案 0 :(得分:2)

要还原(放弃修改)特定文件 x

git checkout x

要在最后git pull命令之后还原所有已修改的文件:

git checkout .

否则,您可以放弃未分级的更改:

git stash save --keep-index --include-untracked
git stash drop