git临时保存工作区和暂存区的修改,以便在需要时恢复。它常用于切换分支、紧急修复或尝试不同方案时保留当前进度

git临时保存工作区和暂存区的修改,以便在需要时恢复。它常用于切换分支、紧急修复或尝试不同方案时保留当前进度

git stash 命令用于临时保存工作区和暂存区的修改,以便在需要时恢复。它常用于切换分支、紧急修复或尝试不同方案时保留当前进度。‌

  • ‌保存修改‌:git stash 或 git stash push 会将当前未提交的修改(包括工作区和暂存区)保存到一个临时堆栈中,并清空工作区
git stash

如果需要包含未跟踪的文件(如新创建的文件),可使用 -u 参数;包含所有文件(包括被忽略的)则使用 -a(-a 或 --all:除了未跟踪的文件外,还会将忽略文件(.gitignore 文件中列出的文件)保存到 stash 中。)

  • 添加描述‌:可为 stash 添加自定义描述,便于识别:
git stash push -m "正在开发登录功能"

查看和管理 stash 列表

  • ‌列出所有 stash‌:git stash list 显示保存的 stash 条目,每个条目包含名称(如 stash@{0} 为最新)、分支名和描述。‌
  • 查看具体内容‌:git stash show 显示最新 stash 与工作区的差异;使用 -p 参数可查看详细补丁格式:
git stash show -p

恢复和删除 stash

  • 恢复修改‌:
    • git stash pop:恢复最新 stash 并从列表中删除。如果恢复时发生冲突,需手动解决后运行 git stash drop 清理。‌
    • git stash apply:恢复修改但不删除 stash,可多次应用同一 stash。‌
      ‌删除 stash‌:
  • git stash drop:删除最新 stash。
  • git stash clear:删除所有 stash 记录。‌

高级功能

  • 从 stash 创建分支‌:git stash branch 基于 stash 创建新分支并自动应用修改,适用于分支冲突场景。‌
  • 选择性应用‌:可通过 git stash show --name-only 查看 stash 中的文件列表,然后使用 git checkout stash@{0} – 恢复特定文件。‌

实际应用场景

  • 临时切换分支‌:在开发中途需查看其他分支代码时,保存当前进度后切换分支。
  • 紧急修复‌:临时保存工作区后快速修复生产环境 bug。‌
  • 多任务切换‌:保存多个任务的进度,按需恢复不同 stash

注意事项

  • stash 仅存储本地修改,不会推送到远程仓库。
  • 如果 pop 时发生冲突,需手动解决冲突后才能完成恢复
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值