Skip to content

Latest commit

 

History

History
36 lines (27 loc) · 1.94 KB

git_stash.md

File metadata and controls

36 lines (27 loc) · 1.94 KB

git stash 指令

  • 参考资料
  • 参考资料2
  • git stash操作之后会将 工作区间 暂存区间 改动放到 工作现场
  • '工作现场' 是一种中文翻译, 官方的叫法是'dirty working directory'

Stash the changes in a dirty working directory away

  • 工作现场独立存在于所有分支, 也就是一个git 项目中只有一个工作现场,即使这个项目中有N个分支;(所以如果想将A分支改动的文件提交到B分支,不妨试用git stash)
  • 如果有修改的文件从暂存区间中放入工作现场(git stash), 当再次从工作现场取出时(git stash pop), 该修改的文件会变回在工作区间;(新增的文件则正常恢复到暂存区间)

git stash 常用指令:

  • git stash

  • git stash save "这些是注释啦"

    • 新增安全工作区(将当前的所有改动全部放入安全工作区), git stash的默认注释为当前分支上一次commit的注释
  • git stash list

    • 显示安全工作区列表
  • git stash clear

    • 清空安全工作区列表(慎操作!)
  • git stash drop

  • git stash drop stash@{0}

    • 删除某一个安全工作区,默认删除最新安全工作区
  • git stash pop

  • git stash pop --index stash@{1}

    • 恢复安全工作区的代码(并删除),git stash pop = git stash pop --index stash@{0}, --index 参数:不仅恢复工作区,还恢复暂存区;
  • git stash apply

  • git stash apply --index stash@{1}

    • 恢复安全工作区的代码(不删除),git stash apply = git stash apply --index stash@{0}, --index 参数:不仅恢复工作区,还恢复暂存区

相关指令:

  • git_status.md 查看当前代码状态指令: 使用我这个指令,只是为了确认放入 安全工作区 是否成功。