Git Stash

我们使用 git stash 来存储我们的更改,当它们还没有准备好提交时,但我们必须更改到不同的分支。

  • 隐藏(stash):

    git stash save
    # or
    git stash
    # or with a message
    git stash save "this is a message to display on the list"
    
  • 应用隐藏(stash),继续处理它:

    git stash apply
    # or apply a specific one from out stack
    git stash apply stash@{3}
    
  • 每次保存一个存储时,它都会被堆叠,所以通过使用 list,可以看到所有的存储。

    git stash list
    # or for more information (log methods)
    git stash list --stat
    
  • 要清理堆栈,请手动删除:

    # drop top stash
    git stash drop
    # or
    git stash drop <name>
    # to clear all history we can use
    git stash clear
    
  • 应用并删除一个命令:

    git stash pop
    
  • 如果我们遇到冲突,请重置或提交我们的更改。
  • 通过 pop 引发的冲突之后不会丢弃存储。

Git Stash 工作流示例

  1. 修改文件
  2. 暂存文件
  3. 隐藏(Stash)文件
  4. 查看我们的存储清单
  5. 通过状态确认没有待处理的更改
  6. 用 pop 申请
  7. 查看列表以确认更改
# Modify edit_this_file.rb file
git add .

git stash save "Saving changes from edit this file"

git stash list
git status

git stash pop
git stash list
git status