理论上来说,不管这些变更正确与否,用户都可以对它们进行测试,至少可以确认它们是否可以通过程序编译。
-
首先要使用git stash save --keep-index命令保存当前的状态,然后将工作目录的状态存放到暂存区中(索引);
-
执行该命令之后,用户就可以执行测试程序了(至少确认一下程序是否能够通过编译);
-
如果测试通过,那么用户就可以执行git commit命令创建一个新的修订版本;
-
如果测试不通过,用户就可以使用git stash pop --index命令,从暂存区读取工作目录的状态,将之恢复到之前的状态;
-
也有可能会需要用到git reset --hard命令对工作区进行重置
- 该命令可能是非常有必要的,因为Git在保存用户的工作记录时过于保守,而且并不知道用户只是将某些记录隐藏暂存了。
git add 和 git stash区别
- git add是针对新建文件
- git stash是针对被修改文件
- 执行add命令时,可自动将文件提交到暂存区
- 执行stash命令时,若该文件是新建文件却没有add,则stash无效,若该文件不是新建文件,则stash可自动将文件提交到暂存区
相关命令
-
$ git stash #保存工作现场
-
$ git stash list #查看保存到工作现场
-
$ git stash apply #恢复工作现场,现场还在list中没删
-
$ git stash pop #恢复并删除现场
-
$ git stash drop #删除现场
-
$ git stash clear #删除所有现场