Git研习笔记(二)
2018-07-18 本文已影响164人
苹果tree
序
上一篇,Git研习笔记(一),捋了几个笔者在git中使用频率较高的命令,这回打算给
git stash
扯个专题。
前言
近期项目多人多分支开发,频频需要分支合并,git rebase
自然是主角,stash
的力量同样不容小觑。之前一直把stash
当成附属功能,并未多加重视,这回打算集中精力研习一把,活用命令,玩出精彩嘛。
正经说事
-
git stash
git封存功能,想必大家早有耳闻。开发了一半想重来,已有修改又不想提交又不想删?突然需要切分支,做了一半的功能暂时提交不了?分支合并rebase
之前需要工作区干干净净?好嘛,git stash
统统帮你搞定,工作区和暂存区的改动统统封存。具体使用细节?别急,再往下看。 -
git stash save "description"
git stash
命令本就能将当前修改存入暂存区,但还不够完美,万一我封存了多份改动,或者过了一段时间忘了存有哪些功能,那怎么办?加个描述貌似可以解决。
-
git stash pop <stashID>
git stash apply <stashID>
pop
命令可以跟apply
一块看。
pop
恢复工作区改动(默认恢复最新),并将已恢复的改动记录删除
apply
恢复工作区改动,且不删除
-
git stash list
查看存储的所有改动
-
git stash drop <stashID>
删除某一条改动,同样,默认删除最新
删除后查看列表,很好,成功删除
-
git stash clear
删光所有改动,大扫除。 - 处理
stash
冲突
如git rebase
合并分支后,恢复自己的stash
,这时遇到冲突
还是熟悉的<<<
解决后查看状态
发现,诶,变成both modified
了,怎么办?我跟同事的修改记录可不能搞混了呀。有办法
git reset HEAD <filePath>
撤销暂存区修改,恢复至上一次提交,也就是合并变基时的提交,工作区代码不受影响。
这时再查看状态,只剩下本地修改。结构又清楚了,舒一口气。
gitk
验证一下,可以放心了
最后
还是那句老话,Git门道深似海,研习还需下苦功。其实stash还有不少用法,道行甚微,仍需努力,日后边学边补充。祝我们乘风破浪,一往无前。