git add 与 git stash

1,083 阅读1分钟

理论上来说,不管这些变更正确与否,用户都可以对它们进行测试,至少可以确认它们是否可以通过程序编译。

  • 首先要使用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 #删除所有现场