32

假设什么都没有上演,那么推荐的重置所有工作的方法是什么,除了文件:

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

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

4

3 回答 3

47

正如您描述的问题,它看起来不像您想要的那样reset。最简单的事情是:

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

因此,它将您的 4 个文件添加到索引中,并检查其他文件的干净版本(即丢弃更改)。

我假设您之前没有暂存 ( git add) 修改过的文件(然后您应该使用重置取消暂存它)。

于 2012-08-23T16:36:05.387 回答
14

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

git add <files to keep>
git commit -m "temp"
git reset --hard
git reset HEAD~
于 2012-08-23T13:31:38.100 回答
7

如果这四个文件在索引中而脏文件不在索引中,那么简单的git-clean应该可以解决问题。如果不确定,--dry-run请先使用开关,并注意--exclude开关。

否则,坚持siride的回答

于 2012-08-23T13:44:42.137 回答