Git教程——临时修改 (stash)

1.前言

想想有天在开开心心地改进代码, 突然接到老板的一个电话说要改之前的一个程序. 怎么办? 虽然还需要很久时间才能改进完自己的代码, 可我有强迫症, 又不想把要改的程序和自己改进代码的部分一起 commit 了.

这时 stash 就是我的救星了. 用 stash 能先将我的那改进的部分放在一边分隔开来. 再另外单独处理老板的任务.

2.暂存修改

假设我们现在在 dev 分支上快乐地改代码:

$ git checkout dev

在 dev 中的 1.py 中加上一行 # feel happy, 然后老板的电话来了, 可是我还没有改进完这些代码. 所以我就用 stash 将这些改变暂时放一边.

$ git status -s
# 输出
 M 1.py
------------------ 
$ git stash
# 输出
Saved working directory and index state WIP on dev: 1d3b96c change 3 in dev
-------------------
$ git status
# 输出
On branch dev
nothing to commit, working directory clean  # 干净得很

在这里插入图片描述

3.做其它任务

然后我们建立另一个 branch 用来完成老板的任务:

$ git checkout -b boss

# 输出
Switched to a new branch 'boss' # 创建并切换到 boss

在这里插入图片描述
然后苦逼地完成着老板的任务, 比如添加 # lovely boss 去 1.py. 然后 commit, 完成老板的任务.

$ git commit -am "job from boss"
$ git checkout master
$ git merge --no-ff -m "merged boss job" boss

merge 如果有冲突的话, 可以像上次那样 解决.
通过以下步骤来完成老板的任务, 并观看一下 master 的 log:
在这里插入图片描述

发布了91 篇原创文章 · 获赞 274 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_37763870/article/details/104637223