美文网首页GitGit使用
Git使用小技巧之Stash命令藏储零乱分支

Git使用小技巧之Stash命令藏储零乱分支

作者: 代码无止境 | 来源:发表于2019-06-26 20:47 被阅读6次

想要获取更多文章可以访问我的博客 - 代码无止境

在开发的过程中可能会经常出现下面这种情况,我们正在开发某个功能,当前分支的内容比较乱,不太适合提交,而此时我们需要切换到其他分支上处理一些事情。这个时候该怎么办呢?难道是将修改先备份然后丢弃修改再切换到另外的分支上?答案肯定是否定的,今天我们就来介绍如何使用git stash命令来完美解决这种窘境。

准备

首先我们需要准备一个git仓库,并准备两个分支(masterdev):


mkdir git-test

cd git-test

git init

touch README.md

git add README.md

git commit -m "第一次提交"

git checkout -b dev

使用stash命令

在上一步,我们已经切换到dev了,现在我们在README.md上随便修改一点东西来模拟凌乱的分支:


$ git status

On branch dev

Changes not staged for commit:

  (use "git add <file>..." to update what will be committed)

  (use "git checkout -- <file>..." to discard changes in working directory)

        modified:  README.md

no changes added to commit (use "git add" and/or "git commit -a")

现在假如我们急需切换到master分支上处理一些事情,所以我们需要使用git stash来藏储dev分支上的修改。


git stash

然后我们再执行一下git status来看下dev上的情况:


$ git status

On branch dev

nothing to commit, working tree clean

我们会发现dev分支变干干净净了,因为刚刚的修改已经被藏储了。那么或许你会问,我们应该怎么查看有哪些藏储呢?当我们在master分支上处理完事情后回到dev分支又该如何恢复我们藏储的内容呢?首先我们执行git stash list我们查看所有的藏储记录:


$ git stash list

stash@{0}: WIP on dev: 9ad7304 第一次提交

如何恢复呢?可以使用git stash pop恢复第一条存储记录,也可以使用git stash apply stash@{n}命令来恢复指定的存储记录。


$ git stash apply stash@{0}

On branch dev

Changes not staged for commit:

  (use "git add <file>..." to update what will be committed)

  (use "git checkout -- <file>..." to discard changes in working directory)

        modified:  README.md

然后我们就会发现刚刚的修改恢复回来了。但是此时我们再次执行git stash list会发现刚刚恢复的藏储记录还存在,我们需要执行git stash drop stash@{n}删掉它。


$ git stash drop stash@{0}

Dropped stash@{0} (8c0b9fa5bc217c7876ab825147ee76712364887e)

再执行git stash list的时候就会发现这条藏储被删除了,当然如果我们恢复的是栈顶的藏储记录的话我建议直接使用git stash pop命令,因为在恢复的同时会自动删除掉栈顶的藏储记录。

相关文章

  • Git使用小技巧之Stash命令藏储零乱分支

    想要获取更多文章可以访问我的博客 - 代码无止境。 在开发的过程中可能会经常出现下面这种情况,我们正在开发某个功能...

  • Git stash 技巧

    Git stash常用技巧 git stash save git stash list git stash app...

  • stash 操作暂存区

    涉及命令:git stash、stash list、git stash apply、git stash drop ...

  • git的一些使用高级技巧

    使用git stash new分支上开发到一半,要去修改old分支上的bug在new分支上的时候在命令行输入:gi...

  • git基本命令

    git常用命令 git丢弃更改相关 git连接远程仓库相关 git切换分支相关 git stash相关 git标签相关

  • GIT使用总结

    集中式VS分布式 分支管理 常见命令解析1)git status 状态查看2)git stash 备份3)git ...

  • 随笔14号20171207-git小贴士之隐藏

    git stash //保存当前分支的编辑并可以切换分支 git stash list //查看缓存区保存的内容 ...

  • git系列4-保存到暂存区

    git stash然后就可以切换分支git stash pop 这样就可以不commit也切换分支

  • git stash

    git stash git stash命令之后,再执行git status时,提示工作区是一个干净的工作区 使用场...

  • git stash命令保存工作区和暂存区的改变

    当你想切换分支时,但工作区已经修改过了,如果你想切换分支,那么很遗憾,git会报错。这时候git stash 命令...

网友评论

    本文标题:Git使用小技巧之Stash命令藏储零乱分支

    本文链接:https://www.haomeiwen.com/subject/gcihcctx.html