git 中stash的实用方法

        使用git协同开发工具的同学应该都知道,在开发过程中我们需要经常切换分支,例如正在某一个分支下做需求时候,在该需求还未完成时就需要在另外一个分支下进行问题的修改,如果直接checkout切换分支会有冲突,会导致切换不成功,但是又不想将当前的做的修改复原,于是想到将当前的改动暂时保存下来,然后切换到另外一个分支去修改问题,当问题修改完成了之后将分支切换回来,然后再将之前保存的改动释放即可继续对需求进行开发了。

        以上的存储在git中提供了stash命令进行存储。

1. 存储当前分支下的所有改动(git stash)

        如图上所示 ,使用git status 看到当前修改了test.txt文件,若要将该修改保存下来,直接使用git stash命令就可以了。如果想要 给当前压栈存储的修改添加说明信息(如果没有指定信息,则说明信息为最新的commit信息),使用git stash -m "存储的信息",引号内为该次存储的命名。如下图所示:

2.查看所有的存储列表(git stash list )

         如上图所示,stash@{0}和stash@{1}分别是两次保存的修改,stash@{0}是最新的一次提交。

3.释放最近一次保存的内容,并且将该次保存的内容出栈(即将栈顶出栈,释放最近一次保存的内容后将该次保存内容删除)(git stash pop) 

        如上图所示,将最近一次存储释放之后,使用git stash list 查看存储列表,已经由原来的两条存储变成了一条。

4. 应用某一次的存储内容,但不删除改内容(即该存储的内容还是存储在栈内  git apply)

例如 : git stash apply stash@{0}

就是将存储号为stash@{0}的存储内容释放出来,但是该存储还是被存储在栈内,没有被删除。

5. 存储指定的文件修改(git stash push .../.../ .../.../ .../.../)

        /.../...为你想要存储的修改的文件路径,当你修改了很多文件,但是你只想存储部分修改的文件,即可在git stash push 后面添加路径,如果是多个文件,在这些文件路径之间添加空格即可。

6.查看某一个压栈修改了哪几个文件(git stash show stash@{0} )

         当存储的修改过多时,你可能会忘记某次存储修改了什么文件,想要查看某次存储修改了哪些文件可以使用git stash show stash@{0}命令,stash@{0}为最近存储的修改,想要看其他的存储只需要改stash@{0}的数字,如stash@{5}.如上图我是先使用git stash list 查看存储列表,然后使用git stash show stash@{0}命令查看第一个修改,可以看到在最近的一次修改存储中我只修改了一个文件test.txt。

7.查看指定存储的修改内容(git stash show -p stash@{0}) 

        如果想查看某次存储修改的所有内容,而不是仅仅查看修改了什么文件,例如查看最近一次存储修改的所有文件和内容,可以使用git stash show -p stash@{0}命令查看。

         如上图查看修改,上图的例子显示了最近的一次存储修改了一个文件,test.txt.

猜你喜欢

转载自blog.csdn.net/weixin_42433094/article/details/124603640
今日推荐