Git中对于"git stash"中的“WIP”缩写的正确理解

1.问题背景

在使用git stash命令时,我们会注意到有很多的WIP单词,但我们很想知道WIP含义。
在这里插入图片描述
在这里插入图片描述
WIP全称:Work in progress,正在工作过程中,引申含义为“目前工作区中的代码正在编写中,这部分代码不能独立运行,是半成品”。
WIP其实代表的就是WIP版本里面的代码是“正在工作并编写的代码”,意思便是"代码工作只开发了一半,不能独立的运行"。直接把这种半成品代码提交commit是极其不合适的,但是我们可以把这部分代码git stash储藏起来,并用WIP给他们做标记。

本文参考来源:
[1]GitHub: What is a “wip” branch?

### Git Stash 的用法与示例 Git stash 是一种用于临时保存当前工作目录和索引状态的工具,允许用户在切换分支或处理紧急任务时保留未提交的更改。以下是对 Git stash 的详细说明及使用示例: #### 1. 基本命令 - **保存当前更改** 使用 `git stash` 或 `git stash save "message"` 将当前的工作目录和索引状态保存到 stash 列表中,并清除工作区的更改[^2]。 - **查看 stash 列表** 使用 `git stash list` 查看所有已保存的 stash 记录。每个记录都有一个唯一的标识符(如 `stash@{0}`)[^4]。 - **应用最近一次 stash** 使用 `git stash apply` 将最近一次 stash 的更改重新应用到工作区,但不会从 stash 列表中移除该 stash[^2]。 - **弹出最近一次 stash** 使用 `git stash pop` 将最近一次 stash 的更改重新应用到工作区,并从 stash 列表中移除该 stash[^2]。 - **删除所有 stash** 使用 `git stash clear` 删除所有的 stash 记录[^1]。 #### 2. 解决冲突场景 当分支发生较大变更时,直接应用 stash 可能会导致冲突。此时可以使用以下方法: - 使用 `git stash branch <branch-name>` 创建一个新分支,并将 stash 的更改应用到该分支上。 #### 3. 示例代码 以下是一个完整的使用示例: ```bash # 开始开发 $ git status On branch main Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git restore <file>..." to discard changes in working directory) modified: file1.txt # 保存当前更改到 stash $ git stash Saved working directory and index state WIP on main: abc1234 Initial commit # 处理紧急任务 $ git checkout -b hotfix Switched to a new branch 'hotfix' # 提交紧急修复 $ git add . $ git commit -m "Fix critical bug" # 返回原分支并恢复 stash $ git checkout main Switched to branch 'main' $ git stash pop Reapplying saved working directory and index state WIP on main: abc1234 Initial commit ``` #### 4. 典型问题解决 - 如果尝试切换分支时遇到本地更改会被覆盖的错误,可以使用 `git stash` 暂存更改后再切换分支[^3]。 - 如果 stash 应用失败,可以尝试使用 `git stash branch` 创建新分支以避免冲突[^1]。 ### 注意事项 - stash 不会保存未跟踪的文件。如果需要保存这些文件,可以在命令中添加 `--include-untracked` 参数[^4]。 - stash 的内容是全局的,适用于所有分支。因此,在多个分支间切换时需小心管理 stash 内容。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

快乐李同学(李俊德-大连理工大学)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值