Git Stash

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

  • 要暂存未提交变更,且没有提交信息:

    git stash
    
  • 使用提交消息来暂存未提交的变更:

    git stash save "this is a message to display on the list"
    
  • 要从暂停获取变更并将其应用到您的分支:

    git stash apply
    
  • 要从暂存应用特定变更到您的分支:

    git stash apply stash@{3}
    
  • 要查看暂存中的所有变更:

    git stash list
    
  • 要查看暂存变更列表的更多详情:

    git stash list --stat
    
  • 要删除最近暂存的变更:

    git stash drop
    
  • 要从暂存删除特定变更:

    git stash drop <name>
    
  • 要从暂存删除所有变更:

    git stash clear
    
  • 要应用最新暂存的变更并从暂存删除它:

    git stash pop
    

如果您在暂存后做了大量变更,当您将暂存的变更应用到您的分支时,可能会出现冲突。您必须解决冲突,然后才能从暂存应用变更。

Git stash 示例工作流

尝试自己使用 Git stash:

  1. 修改一个 Git 仓库中的文件:
  2. 暂存变更:

    git stash save "Saving changes from edit this file"
    
  3. 查看暂存列表:

    git stash list
    
  4. 确认没有等待的变更:

    git status
    
  5. 应用暂存的变更并从暂存弹出变更:

    git stash pop
    
  6. 查看变更列表以确认变更被移除:

    git stash list