如何从命令行进行混排?

问题描述:

当我做混帐通过TortoiseGit恢复,我得到这个可爱的窗口:如何从命令行进行混排?

enter image description here

然而,当我想在命令行中做的一样,the documentation设法完全搞不清我。我如何恢复所有本地未修改的更改?

+0

只是一个词汇笔记:'revert'是创建一个新的提交这恢复了以前的提交,“重置”是你想要的(恢复未被改变的更改) – CharlesB 2011-03-17 13:23:24

+2

@CharlesB:我知道他们一直认为这是TortoiseSVN的保留,但是男人,这似乎是一种不负责任的命名。 – Cascabel 2011-03-17 14:49:11

要放弃所有本地更改,请不要使用还原。还原用于恢复提交。相反,这样做:

 
$ git reset --hard 

当然,如果你像我一样,7微秒您输入命令后,你会记得你希望你没有刚删除的东西,所以你可能反而更喜欢使用:

 
$ git stash save 'Some changes' 

它丢弃工作目录中的更改,但使其可检索。

+0

请注意,这会丢弃*所有*本地更改,因此它不能完全替代带有复选框的对话框。如果你只想扔掉一些变化,使用'git checkout ...',因为[Marc建议在下面](http://*.com/questions/5339518/how-do-i-git-revert-from-命令行/ 5339716#5339716) – Cascabel 2011-03-17 14:50:34

假设你有没有犯的是,你还可以:

git checkout filename(s) 
+1

但仍然会显示文件在git状态内的文件上演提交。 – 2013-07-29 15:13:29

+2

这应该只会发生,如果你以前“git添加”它。如果你只是编辑一个文件然后检查出来,它回到原来的。 – 2013-07-30 15:59:01

Git的新手和我一样应该意识到working directory' != pwd

它意味着整棵树。

所以我很感激威廉姆斯建议使用:

$ git stash save 'Some changes' 

可以通过以下撤销:

$ git stash pop