- Git 入门
- Git - 首页
- Git - 版本控制
- Git - 基本概念
- Git - 命令行
- Git - 安装
- Git - 首次设置
- Git - 基本命令
- Git - 获取帮助
- Git - 工具
- Git - 速查表
- Git - 术语
- Git 分支
- Git - 简述分支
- Git - 创建新分支
- Git - 切换分支
- Git - 分支和合并
- Git - 合并冲突
- Git - 管理分支
- Git - 分支工作流程
- Git - 远程分支
- Git - 跟踪分支
- Git - 变基
- Git - 变基与合并
- Git - 压缩提交
- Git 操作
- Git - 克隆操作
- Git - 打标签操作
- Git - 别名操作
- Git - 提交操作
- Git - 暂存操作
- Git - 移动操作
- Git - 重命名操作
- Git - 推送操作
- Git - 拉取操作
- Git - Fork 操作
- Git - 修补操作
- Git - 差异操作
- Git - 状态操作
- Git - 日志操作
- Git - HEAD 操作
- Git - origin master
- Git 撤销
- Git - 撤销更改
- Git - 检出
- Git - 恢复
- Git - 重置
- Git - 恢复操作
- Git - Rm
- Git - 切换操作
- Git - Cherry-pick
- Git - 修正
- Git 在服务器上
- Git - 本地协议
- Git - 智能 HTTP 协议
- Git - 哑 HTTP 协议
- Git - SSH 协议
- Git - Git 协议
- Git - 在服务器上获取 Git
- Git - 设置服务器
- Git - 守护进程
- Git - GitWeb
- Git - GitLab
- Git - 第三方托管选项
- 分布式 Git
- Git - 分布式工作流程
- Git - 为项目做贡献
- Git - 维护项目
Git - 切换分支
在 Git 中切换分支是一项基本操作,它允许开发人员同时处理项目的不同方面,而不会干扰主代码库。
为什么要切换分支?
切换分支对于维护干净和组织良好的代码库至关重要。以下是一些切换分支变得必要的场景
功能开发: 当您正在开发新功能时,最好在单独的分支上进行。这使您可以根据需要进行尽可能多的更改,而不会影响主分支中的稳定代码。
错误修复: 如果在您开发功能时发现了错误,您可以切换到一个专门用于修复错误的新分支。修复完成后,您可以将其合并回主代码库。
代码审查: 在将分支合并到主分支之前,通常的做法是审查代码。通过将更改保留在单独的分支上,您可以确保只有经过审查和批准的代码才能合并。
实验: 如果您不确定特定方法或需要测试某些内容,您可以创建一个实验分支。如果实验失败,您可以简单地删除该分支,而不会影响主代码库。
如何在 Git 中切换分支
在 Git 中使用git checkout命令切换到现有分支。此命令会更新工作目录中的文件,以匹配您要切换到的分支的状态。
让我们切换到名为feature-x的分支
$ git checkout feature-x
通过运行此命令,feature-x分支由HEAD引用。
feature-x分支指针将在每次在此之后进行修改和提交时,在提交历史中向前移动。
假设我们对文件进行了一些更改并在feature-x分支上提交了更改
$ vim test.htm # Make some changes $ git commit -a -m 'Update feature'
通过最近的提交,feature-x分支现在正在向前移动。
使用git checkout返回到master分支
$ git checkout master
此活动实现了两个目标
HEAD指针被移动到指向master分支。
它基本上撤消了对feature-x分支所做的所有更改,方法是将工作目录中的文件恢复到指向master分支的快照。
通过在分支之间导航,我们可以独立地处理各种功能或任务,并保持不同的开发线,直到我们准备好将更改合并回主分支。
让我们演示如何在 Git 中进行更改并拥有不同的历史记录
让我们首先对文件进行一些编辑,并将它们提交到当前分支(假设是feature-x分支)
$ vim test.htm # Make some changes $ git commit -a -m 'Make other changes'
我们已经编辑了文件test.htm并使用以下命令提交了更改,并更新了消息。
我们的项目历史现在正在分叉。例如,我们对一个分支(feature-x)进行了更改,切换到它,然后通过切换回我们的主分支(master)进行了更多更改。
由于每组修改都包含在其自己的分支中,因此我们可以在它们之间交替,并在准备好时将它们合并在一起。
我们可以使用git log命令以及各种参数来查看分叉历史记录和分支指针
$ git log --oneline --decorate --graph --all
此命令以简洁、优雅设计的图形格式显示了我们帐户的提交历史记录。
这也指示了所有分支指针(包括HEAD)的位置以及分支分叉的趋势。
由于 Git 分支只是指向特定提交,因此它们轻量级且易于创建和删除。
与旧的版本控制系统(由于元数据更新较少而需要复制整个目录)不同,Git 的分支过程几乎是即时的。
这种效率鼓励开发人员频繁使用分支来有效地组织和管理他们的工作。