一、gitstash是什么?
Git是现今比较流行的版本控制工具,其有一个非常有用的功能——Git stash。Git stash的作用是可以将当前分支的工作现场“储存”起来,等需要的时候再“拿出来”,使得我们可以在不影响当前分支的情况下,进行其他不同的分支的开发等工作。这让我们可以临时把手头的工作进行“藏匿”,等到需要时再拿出来。具体来说,stash会将当前分支还未commit的修改储存起来。而且我们可以在不同的时间点,使用不同的stash,稍后进一步从stash拿回修改。
二、gitstash的使用方法
我们可以使用如下的命令进行stash的操作:
git stash [save] [-p] [-k] [-u] []
其中:
save
参数是可选的,如果没有指定则缺省值就是save
-p
参数可以选择某些特定文件进行stash,而不是全部-k
参数会保存当前没有被跟踪的修改-u
参数会将未被git忽略的文件一并保存进stash< message >
参数会带上一些对stash的描述信息
假设我们使用git stash save 'My stash'
这个命令进行保存当前的修改。接下来,我们可以使用以下的这些命令从stash拿回我们储存的修改:
git stash [list []] git stash apply [ ] git stash drop [ ] git stash pop [-q|--quiet] [ ] git stash clear
这些命令的意义如下:
list
命令可以列出我们stash的列表apply
命令可以将最新一个stash应用到当前分支上drop
命令可以删除最新一个stashpop
命令可以将最新一个stash合并到当前分支,并之前就删除这个stashclear
命令可以删除所有stash
三、gitstash的应用场景
Git stash可以用来暂时的保存未提交的修改,这个功能很实用。下面让我们来看看gitstash的两个应用场景。
1. 在切换分支之前使用stash
如果在进行分支切换之前,还有未完成的功能实现,但又不希望这些修改和当前的分支混淆在一起,那么我们就可以先使用stash将这些修改保存下来。
git add .
git stash save 'My stash'
上面的命令先将所有的修改添加到暂存区,然后执行stash操作,最后就可以进行分支切换了。
2. 在切换分支之后使用stash
如果在分支切换完成后,我们还需要在其他分支上进行一些修改工作,但是原来在之前分支上的修改丝毫不想丢失。此时,想必就会知道我们可以使用stash将修改保存起来,然后再在其他分支上进行开发工作。
git stash
git checkout other-branch
git stash apply
这三个命令将会先将当前分支上的修改保存到stash里,然后切换到other-branch
分支,最后将stash中的修改拿出并应用到当前分支上。这样我们就可以在另一个分支上继续开发了。
四、小结
gitstash是一个非常实用的Git操作命令。只要正确掌握gitstash的使用方法,我们在开发中就可以随意切换不同的分支进行开发或者修复bug,而不必担心未提交的修改会被破坏。希望大家可以在自己的开发工作中将gitstash命令应用得更深入,提高开发效率。