基础使用:

https://mp.weixin.qq.com/s/4SXOU4cTAjk3HPmpu8IgEw

idea使用案例

git cherry-pick : 选择commit提交到别的分支

idea里git工具合test分支代码 idea git patch_idea里git工具合test分支代码


idea里git工具合test分支代码 idea git patch_暂存区_02


idea里git工具合test分支代码 idea git patch_暂存区_03

git rebase : 合并commit

当独立分支开发的时候,一堆提交到test,pre等分支,肯定很乱

idea里git工具合test分支代码 idea git patch_缓存_04

idea里git工具合test分支代码 idea git patch_git_05


idea里git工具合test分支代码 idea git patch_缓存_06

idea里git工具合test分支代码 idea git patch_暂存区_07


idea里git工具合test分支代码 idea git patch_idea里git工具合test分支代码_08


idea里git工具合test分支代码 idea git patch_缓存_09


idea里git工具合test分支代码 idea git patch_git_10


idea里git工具合test分支代码 idea git patch_git_11


选择Force Push,不然可能Reject Push。

git reset :回退版本

个人觉得从独立环境提交到test,pre环境的时候,如果出错了,可以快速回退。

idea里git工具合test分支代码 idea git patch_暂存区_12


idea里git工具合test分支代码 idea git patch_git_13


idea里git工具合test分支代码 idea git patch_缓存_14


idea里git工具合test分支代码 idea git patch_暂存区_15


idea里git工具合test分支代码 idea git patch_暂存区_16

git revert:去掉某个不要的版本

这个应该少用

idea里git工具合test分支代码 idea git patch_缓存_17

git stash: 保存修改,并在暂存区删除修改记录

第一种情况:突然出现bug。一个修改分支没有commit的时候是不能切换分支的。但是又不想那么快commit, 可以先git stash。

idea里git工具合test分支代码 idea git patch_git_18

idea里git工具合test分支代码 idea git patch_缓存_19

可以看到一定要在暂存区才能被stash。并且当前目录添加的1.txt就没了。

idea里git工具合test分支代码 idea git patch_缓存_20


idea里git工具合test分支代码 idea git patch_idea里git工具合test分支代码_21

(1)git stash save "save message"  : 执行存储时,添加备注,方便查找,只有git stash 也要可以的,但查找时不方便识别。

(2)git stash list  :查看stash了哪些存储

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

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

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

(6)git stash pop :命令恢复之前缓存的工作目录,将缓存堆栈中的对应stash删除,并将对应修改应用到当前的工作目录下,默认为第一个stash,即stash@{0},如果要应用并删除其他stash,命令:git stash pop stash@{$num} ,比如应用并删除第二个:git stash pop stash@{1}

(7)git stash drop stash@{$num} :丢弃stash@{$num}存储,从列表中删除这个存储

(8)git stash clear :删除所有缓存的stash