假设没有上演任何内容,除了文件外,重置所有已完成工作的推荐方法是什么:
app/models/a.rb
app/views/a/index.html.rb
config/foo.rb
config/bar.rb
app / models /和app / views /中存在其他脏文件,我不想保留。
答案 0 :(得分:27)
正如您所描述的那样,它看起来不像您想做reset
。最简单的事情是:
git add app/models/a.rb app/views/a/index.html.rb config/foo.rb config/bar.rb
git checkout .
因此,它将您的4个文件添加到索引中,并检查其他文件的干净版本(即丢弃更改)。
我假设您之前没有暂存(git add
)修改过的文件(然后您应该使用重置来暂存它)。
答案 1 :(得分:9)
一种方法是git提交这四个文件,然后重新设置,然后撤消提交:
git add <files to keep>
git commit -m "temp"
git reset --hard
git reset HEAD~
答案 2 :(得分:5)
如果这四个文件在索引中而脏文件不在,那么一个简单的git-clean
就可以了。如果不确定,请先使用--dry-run
开关,然后注意--exclude
开关。
否则,请坚持使用siride's answer