当咱们拿到一个新的bug或者feature(功能)时,首先应该想到通过分支来完成咱们的任务。因为在软件开发中,总是会根据客户的需求不断的添加新的feature进来,同时在做移动开发过程中bug也可以说是“常客”。通过前几章的内容,相信咱们很自然会想到创建一个新的branch(分支),在此分支上来修复bug或者实现feature,完成后,然后再merge(合并)到咱们的主分支上。
当咱们接到一个比如说是关于空指针的bug,而咱们手中的活(在b1分支上的bug)还没提交,预计要半天的时间,但新的bug必须在1小时内修完。这时咱们就要用到“储存现场”的功能git stash,这样咱们可以在修护新的bug之后再恢复现场来继续原先还没有提交的操作。下面咱们先修改之前的hellogit.txt文件的,修改内容为:
Hello Git
Git is so easy.
然后咱们仍然使用git status来观察一个该文本的状态:
可以看到红色部分提示,该文件已经被修改,同时该文件的状态仍处于工作区中,这是咱们接到一个新的bug,上级要求必须尽快修复,这时咱们先“保存现场”:
用git status查看工作区,就是干净的,除非有没有被Git管理的文件:
因此咱可以放心地创建分支来修复bug,现在假定咱们使用主分支(master)来修复咱们的这个新的bug,就从主分支上创建一个临时分支b2:
现在修复1.txt中的bug:
bug修好了,下面提交:
切换到主分支上在merge(合并):
然后删除临时分支b2:
好了,新的bug已经修复完,下面就可以继续回到咱们原来的分支(b1)上继续工作了:
咱们可以看到,工作区是干净的,之前咱们“储存的现场”哪去了呢?咱可以用git stash list来查看:
存储的工作现场还在,Git把stash内容存在某个地方了,但是需要恢复一下,有两个办法:
方法一:先用git stash apply来恢复现场,然后再用git stash drop来删除stash内容;
方法二:直接使用git statch pop来恢复并删除stash内容。
咱们为了方便,就直接用git stash pop了:
可以看到b1分支上hellogit.txt的状态又回来了,咱又可以继续在b1分支上干活了。
总结:(1)存储现场:git stash
(2)查看工作现场:git stach list
(3)恢复现场有两种:1,使用git stash apply 来恢复,然后再使用git stash drop来删除stash的内容。
2.使用git stash pop,来恢复并删除stash内容。
(4)如果要多次使用stash,恢复的时候先用git stash list查看,然后在指定你要恢复的内容:git stash applystash@{0}。
( 5) 如果要丢弃一个没有合并的分支,可以使用git branch -D branch-name。
相关推荐
### git分支管理策略详解 #### 一、引言 在当今的软件开发环境中,版本控制系统是必不可少的一部分。其中,Git因其高效性和灵活性成为了最受欢迎的选择之一。对于任何希望提高团队协作效率、确保代码质量和版本可...
通过合理地使用bug分支和feature分支,可以有效地提高开发效率,保证项目的质量和稳定性。正确使用这些分支不仅有助于管理代码变更,还能增强团队之间的协作能力。希望本文介绍的内容能够对您有所帮助。 #### 六、...
### Git分支合并和命令详解 #### 一、Git分支概念及优势 **Git 分支**是一种非常高效且灵活的功能,允许开发者在不干扰主线代码的情况下进行独立开发和测试。这得益于Git内部对分支的实现机制——实际上每一个分支...
### Git多分支管理方案详解 #### 一、概述 在软件开发过程中,为了更好地管理和跟踪项目的各个阶段,采用有效的版本控制系统至关重要。Git作为一种强大的分布式版本控制系统,在多分支管理方面提供了非常灵活的...
### Git 删除分支与回滚详解 #### 一、引言 在版本控制工具Git中,分支管理和代码回滚是非常...以上就是关于Git删除分支和回滚操作的详细解析,如果您在实际操作中有任何疑问,请随时留言交流。感谢您的阅读和支持!
Git Flow 详解 Git Flow是一种常用的 Git 分支模型,旨在帮助开发者更好地管理项目的版本控制。以下是 Git Flow 的详细介绍和使用指南。 Git Flow 概念 Git Flow 由 Vincent Driessen 于 2010 年提出,旨在解决 ...
Idea作为流行的Java开发IDE,集成了强大的Git工具,使得在Idea中处理分支和解决冲突变得方便高效。以下是对`idea+git合并分支解决冲突及详解步骤`的知识点详细解析: 1. **主干分支(master)**: - 主干分支是...
### Git基本操作与使用知识点详解 #### 一、Git简介 ...通过上述分支管理策略,可以有效地组织和控制项目的开发过程,确保代码质量和稳定性。同时,结合Git的强大功能,能够更好地协同开发,提高团队效率。
- `git branch -a`:列出所有本地分支和远程分支。 - `git branch [branch-name]`:创建新分支但不切换。 - `git checkout -b [branch]`:创建并切换到新分支。 - `git branch [branch] [commit]`:基于指定提交创建...
### Git基本命令详解 #### 一、分支管理 在团队协作中,合理地管理分支能够极大地提高工作效率。以下是一些常用的Git分支管理命令。 ##### 1. 创建分支 ```bash git branch ``` **示例**: ```bash git branch ...
通过上述命令的学习与实践,您可以更加高效地使用 Git 进行项目管理。这些命令涵盖了 Git 的基本操作,适用于日常开发中的大部分场景。在实际工作中,还可以根据需求灵活组合使用这些命令来解决复杂问题。希望以上...
这些分支名称通常以 `feature-` 开头,便于管理和追踪。 - **可选分支(Optional Branches)** - **`HotFix`**:用于紧急修复已发布版本中的bug。从线上版本的 `master` 分支拉取,修复代码经测试后合并回 `...
### Git命令大全详解 #### 创建操作 ##### 克隆现有仓库 **命令**: `git clone ssh://user@domain.com/repo.git` ...以上是Git命令大全的部分内容,通过这些命令,你可以有效地管理和协作于Git仓库中的代码。无论...
- Gitflow:最早流行的工作流程,包括功能分支(feature branch)、预发分支(release branch)和补丁分支(hotfix branch)。功能分支用于开发新特性,预发分支用于测试和准备发布,补丁分支处理线上紧急问题。 - ...
如果要基于某个特定分支创建新分支,可以在后面加上分支名,例如`git checkout -b feature/bugfix master`。 - **`git stash save "信息"`**:保存当前工作状态,包括暂存区的修改以及未暂存的文件修改。通常在需要...
- **功能**:显示所有分支和标签的提交历史。 - **应用场景**:用于跟踪提交历史和恢复丢失的提交。 - **示例**: ```shell git reflog ``` #### 九、撤销文件更改 **命令:git checkout -- ** - **功能**:...
- 快速分支和合并的能力,支持多线程并行开发。 - 强大的内容完整性保护机制。 - **应用场景**: Git适用于团队合作中的源代码管理、文档版本控制以及任何需要版本历史追踪的场景。 **1.2 GitFlow工作流** - **...