如何只丢弃不在暂存区域内的更改?
假设:
$ cat file.txt
Hello
$ git add file.txt
# edit file.txt
$ cat file.txt
Hi
如何将file.txt
的内容与上次编辑之前和git add
命令之后的内容无需手动编辑后获取?
真实案例场景是我有这些以编程方式生成但必须提交到存储库的文件(例如,Django迁移)。我想重新生成文件,但只提交一些更改。所以我使用git add -p
选择我想要的更改,然后我想放弃未选择的更改。
答案 0 :(得分:2)
要还原(放弃修改)特定文件 x :
git checkout x
要在最后git pull
命令之后还原所有已修改的文件:
git checkout .
否则,您可以放弃未分级的更改:
git stash save --keep-index --include-untracked
git stash drop