git stash 暂存修改

QuibblerQuibbler 2020-01-04 约 4 分钟 2012 次阅读

git stash 暂存修改

git stash是一个非常好用的git命令,常常用来保存临时的修改,有不想add到提交里去。常用命令有:

①执行存储时,添加备注,方便查找,只有git stash 也要可以的,但查找时不方便识别。

git stash save "save message"

或者最简单的,没有备注

git stash

②查看stash了哪些存储

git stash list

③显示做了哪些改动,默认show第一个存储,如果要显示其他存贮,后面加stash@{$num},比如第二个 git stash show stash@{1}

git stash show

④详细显示第一个存储的改动,如果想显示其他存存储,命令:git stash show  stash@{$num}  -p ,比如第二个:git stash show  stash@{1}  -p

git stash show -p

⑤应用某个存储,但不会把存储从存储列表中删除,默认使用第一个存储,即stash@{0},如果要使用其他个,git stash apply stash@{$num} , 比如第二个:git stash apply stash@{1} 

git stash apply

⑥命令恢复之前缓存的工作目录,将缓存堆栈中的对应stash删除,并将对应修改应用到当前的工作目录下,默认为第一个stash,即stash@{0}。

git stash pop

如果要应用并删除其他stash,命令:git stash pop stash@{$num} ,比如应用并删除第二个:

git stash pop stash@{1}

⑦丢弃stash@{$num}存储,从列表中删除这个存储

git stash drop stash@{$num}

⑧删除所有缓存的stash

git stash clear

注意:

使用git stash 只能暂存已经在git版本控制中文件的修改。新添加的文件,stash是不会被保存到暂存区,如果想保存加-u参数:

git stash save -u

千万不要用-a,否则还会把用.gitignore忽略的文件放入暂存区!!!

git stash save -a

参考博客:

         丢失stash修改:Could not restore untracked files from stash

         git stash 用法总结和注意点

         玩转GIT之看清 git stash 的本质

         git stash的使用

         慎用git stash save -a

相关推荐

git rebase调整commit提交的顺序
Git

git rebase调整commit提交的顺序

git rebase调整commit之间顺序一连提交了几笔commit,想调整一下顺序,把其中一笔提交置顶拿到最前面来,专门修改这一笔提交。当然如果想修改某一笔提交,可以reset到那笔commit,进行修改,完成之后再把之后的提交cherry-pick回去。git log查看提交记录,每笔提交记录太多,可以让每笔提交仅显示一行查看 --oneline。使用git rebase -i进入编辑,之前

1.4w
git blame:显示文件的每行提交记录信息
Git

git blame:显示文件的每行提交记录信息

git blame:显示文件的每行提交记录信息git blame对文件的每行信息都进行注释。能看到关于该行修改的每一次commit的哈希标签、作者和提交日期。Intellij IDEA在打开文件的行数右键点击Annotate显示文件每一行的记录信息。应该用的就是这个命令实现的功能。

5.5k
Git可视化工具:Sublime Merge
Git

Git可视化工具:Sublime Merge

Git可视化工具:Sublime Merge同事推荐了一个Git 可视化客户端:Sublime Merge ,由知名文本编辑器 Sublime Text 开发商打造。自己平时用的则是最好用的Git GUI工具:SourceTree,也体验了下Sublime Merge,用起来还不错。直接点击下载或购买后,安装即可。功能免费,完整功能无限制使用。但是订阅内容(比如更换主题)付费。Sublime Me

2.8k