如何重置git--除了4个文件之外的所有文件都是硬的

v09wglhw  于 2023-06-20  发布在  Git
关注(0)|答案(3)|浏览(110)

假设没有暂存任何东西,那么重置除文件以外的所有工作的推荐方法是什么?

app/models/a.rb
app/views/a/index.html.rb
config/foo.rb
config/bar.rb

其他脏文件存在于app/models/和app/views/中,我不想保留。

ryhaxcpt

ryhaxcpt1#

正如您所描述的问题,看起来您不想执行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取消暂存)。

2ul0zpep

2ul0zpep2#

一种方法是git提交这四个文件,然后硬重置,然后撤销提交:

git add <files to keep>
git commit -m "temp"
git reset --hard
git reset HEAD~
ymdaylpp

ymdaylpp3#

如果这四个文件在索引中,而脏文件不在,那么一个简单的git-clean就可以解决这个问题。如果不确定,请先使用--dry-run交换机,然后注意--exclude交换机。
否则,请坚持使用siride's answer

相关问题