您的位置:

gitstash命令作用

一、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命令可以删除最新一个stash
  • pop命令可以将最新一个stash合并到当前分支,并之前就删除这个stash
  • clear命令可以删除所有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命令应用得更深入,提高开发效率。