如何git重置 - 除了4个文件以外的一切

时间:2012-08-23 13:28:48

标签: git

假设没有上演任何内容,除了文件外,重置所有已完成工作的推荐方法是什么:

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

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

3 个答案:

答案 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