Git 中的stash 暂存使用

54 阅读1分钟

1.查看分支

$ git branch

image.png

2.查看工作状态

    当前分支subWork上的工作尚未完成,如果有另一项任务需要优先完成,或者出现BUG需要立刻修复。此时需要另外创建一个分支来工作,可以把当前工作现场“保存”起来,等以后恢复现场后继续工作。

 $ git status

当前有改动需要添加提交的 但当前的功能还没有写完 又不想提交 但又想保存当前状态 这时候需要 stash 暂存一下

image.png

3.保存工作现场

$ git stash

4.创建分支

保存完成之后 可以 git status 查看当前状态 然后切换主分支

$ git checkout master

在master上创建新分支bug,并设为当前工作分支。

$ git checkout -b bug1

修改bug,然后提交。

修复完成后,切换到master分支。

$ git checkout master

合并master分支和bug1分支。(--no-ff参数,表示禁用Fast Forward模式,禁用后Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息)。

$ git merge --no-ff -m "merge bug001" bug001

最后,删除分支bug001。

$ git branch -d bug001

5.恢复工作现场

$ git checkout subWork

恢复工作现场。

$ git stash pop

可以多次用命令git stash 保存工作现场,然后用git stash list 查看保存的列表,然后用 git stash apply恢复。用 git stash apply恢复后,保存的现场并不删除,需要用git stash drop 删除。