欢迎光临
一个有态度、有温度的分享型博客

使用git stash暂时保存当前工作

在实际开发中,你当前的工作正在进行,可能当前版本库中的代码处于一种混乱的状态,假如此时的你又有了其他的需求,比如想pull最新代码,又不想新增commit;或者为了fix一个紧急的bug,需要先返回上一个commit,修改完bug之后再进行当前的工作;又或者你想切换到其他分支解决一个重要而又紧急的bug。此时你可以使用git stash来暂存当前进行的工作。

基础命令:

git stash;

#do some work

git stash apply

解释:储藏(stash),就是可以获取你工作的中间状态(也就是你修改过的那些被追踪的文件),并把它保存的一个未完结变更的堆栈中,而你随时可以重新应用它。

进阶:

1.git stash save “message”

git stash save "work in progress for foo feature"

使用git stash save “message”你可以对本次存储的内存或对工作进度添加备注。

2.git stash list

git stash list

说明:当你多次使用’git stash’命令后,你的栈里将充满了未提交的代码,这时候你会对将哪个版本应用回来有些困惑,’git stash list’ 命令可以将当前的Git栈信息打印出来,你只需要将找到对应的版本号,例如使用’git stash apply stash@{1}’就可以将你指定版本号为stash@{1}的工作取出来。

3.git stash drop

git stash drop stash@{0}

说明:当你使用git stash apply后,虽然你暂时保存的工作已经被应用,但是先前保存的暂时的工作状态还会在栈中,因为开始时候暂时保存的工作已经被应用了,我们可能会想要把栈中的内容给删除掉,这时候我们可以使用git stash drop,加上你希望移除的储藏的名字,对栈中的内容进行删除,如果不加索引,默认删除的是最新的进度。

4.git stash clear

git stash clear

说明:当栈所有保存的暂时的工作进度都已经被应用了,那么你就可以使用git stash clear 一次性将栈中的暂时工作内容进度进行清除。

5.git stash pop

git stash pop stash@{1}

说明:在实际工作中,我们先将暂存的工作应用(git stash apply),然后再将栈中的内容删除(git stash drop),步骤略显繁琐,有没有一步到位的方法?有的,这就是git stash pop,它会执行先将储存的工作应用,再将栈中的内容删除,其实就是前面两步的综合。

6.git stash – – help

说明,更多详细内容,使用git stash –help会提示你的!

参考:

1.Git-工具-储藏(Stashing)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址