git工作场景——修debug和增feature

本文介绍如何使用Git的stash功能保存当前工作进度,并通过创建临时分支修复bug或开发新功能,最后如何恢复工作现场。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在开发时候临时任务,如需要debug其他内容,或者是要新开发一个需要模块feature,那就需要先停下保存好手头工作,然后完成临时任务,继而恢复工作区继续工作。

保存目前手头内容

$ git stash

Git还提供了一个stash功能,可以把当前工作现场“储藏”起来,等以后恢复现场后继续工作,用git status查看工作区,就是干净的(除非有没有被Git管理的文件),因此可以放心地创建分支来修复bug。

建立bug分支

  1. 在分支上找到bug,确定分支然后建立临时分支进行修复。比如在master分支上建立分支。
  2. 建立分支,$ git checkout -b issue1
  3. 修复bug后提交文件合并分支
 $ git add ...... 
$ git commit -m "fix bug "
  1. 修复完成后切换回到分支并完成合并,最后删除issue1分支
$ git switch master
$ git meage --no-ff -m "merged bug fix " issue1

返回待工作分支

  1. 查看原先工作区
$ git stash list
  1. 工作现场还在,Git把stash内容存在某个地方了,需要恢复一下,有两个办法:一是用git stash apply恢复,但是恢复后,stash内容并不删除,你需要用git stash drop来删除;另一种方式是用git stash pop,恢复的同时把stash内容也删了,如下所示。
$ git stash apply
Removing t2.md
On branch master
Your branch is up to date with 'origin/master'.

Changes not staged for commit:
  (use "git add/rm <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
        deleted:    t2.md

no changes added to commit (use "git add" and/or "git commit -a")


$ git stash list
stash@{0}: WIP on master: f04f5fc need to delete


$ git stash pop
Removing t2.md
On branch master
Your branch is up to date with 'origin/master'.

Changes not staged for commit:
  (use "git add/rm <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
        deleted:    t2.md

no changes added to commit (use "git add" and/or "git commit -a")
Dropped refs/stash@{0} (d0db5a622814a33cd13f48c7561154c0ad356e7c)


$ git stash list

  1. 再次输入 git stash list,此时找不到任何stash内容,表明已经恢复了。

增feature

软件开发中,总有无穷无尽的新的功能要不断添加进来。添加一个新功能时,你肯定不希望因为一些实验性质的代码,把主分支搞乱了,所以,每添加一个新功能,最好新建一个feature分支,在上面开发,完成后,合并,最后,删除该feature分支。
步骤如下

  1. 保存手头工作
  2. 根据待开发一个新feature,新建一个子分支;
  3. 完成工作合并子分支,删除子分支。如果要丢弃一个没有被合并过的子分支,可以通过git branch -D 强行删除。
  4. 还原手头工作
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值