假设没有暂存任何东西,那么重置除文件以外的所有工作的推荐方法是什么?
app/models/a.rb app/views/a/index.html.rb config/foo.rb config/bar.rb
其他脏文件存在于app/models/和app/views/中,我不想保留。
ryhaxcpt1#
正如您所描述的问题,看起来您不想执行reset。最简单的方法是:
reset
git add app/models/a.rb app/views/a/index.html.rb config/foo.rb config/bar.rb git checkout .
因此,它将您的4个文件添加到索引中,并 checkout 干净的版本(即放弃对其他文件的更改)。我假设你以前没有暂存(git add)修改过的文件(你应该使用reset取消暂存)。
git add
2ul0zpep2#
一种方法是git提交这四个文件,然后硬重置,然后撤销提交:
git add <files to keep> git commit -m "temp" git reset --hard git reset HEAD~
ymdaylpp3#
如果这四个文件在索引中,而脏文件不在,那么一个简单的git-clean就可以解决这个问题。如果不确定,请先使用--dry-run交换机,然后注意--exclude交换机。否则,请坚持使用siride's answer
git-clean
--dry-run
--exclude
3条答案
按热度按时间ryhaxcpt1#
正如您所描述的问题,看起来您不想执行
reset
。最简单的方法是:因此,它将您的4个文件添加到索引中,并 checkout 干净的版本(即放弃对其他文件的更改)。
我假设你以前没有暂存(
git add
)修改过的文件(你应该使用reset取消暂存)。2ul0zpep2#
一种方法是git提交这四个文件,然后硬重置,然后撤销提交:
ymdaylpp3#
如果这四个文件在索引中,而脏文件不在,那么一个简单的
git-clean
就可以解决这个问题。如果不确定,请先使用--dry-run
交换机,然后注意--exclude
交换机。否则,请坚持使用siride's answer