一.分支管理
1.为什么需要 git 分支?
使用 Git 分支有几个重要的原因,它们有助于更好地组织和管理软件开发过程:
- 并行开发: 分支允许团队在不互相干扰的情况下并行开发不同的功能或修复不同的 bug。每个分支都是一个独立的工作空间,团队成员可以在各自的分支上工作,而不会影响主代码库。
- 特性开发: 每个分支可以用于开发新功能。开发人员可以在一个特性分支上实现和测试新功能,而不会影响主分支。一旦新功能开发完成并测试通过,可以将其合并回主分支。
- Bug 修复: 分支也可以用于修复 bug。当发现主分支上的 bug 时,可以创建一个新的分支用于修复,然后将修复合并回主分支。这有助于保持主分支的稳定性,同时允许在其他分支上继续工作。
- 版本控制: 分支可以用于管理不同的软件版本。例如,可以有一个用于开发的主分支、一个用于发布的稳定分支,以及其他用于不同版本的分支。这使得可以同时维护多个版本的软件。
- 实验性开发: 开发人员可以创建分支来进行实验性的开发,尝试新的想法或实现不同的方法,而不会对主代码库造成影响。如果实验成功,可以选择将更改合并回主分支。
总体而言,使用 Git 分支可以提高团队的工作效率,减少冲突,更好地组织和管理代码库的演进过程。分支使得开发者能够同时进行多个独立的工作,并且能够更灵活地应对不同的开发和维护需求。
管理分支可能会花你5分钟的时间,不管理分支可能会花你半天的时间,严谨的开发规范,自我驱动!!!!!
2.查看本地分支
代码语言:apl复制#查看本地所有分支
git branch
3.查看所有分支
代码语言:apl复制#查看所有分支(本地 远程)
git branch -a
4.查看远程所有分支
代码语言:apl复制#查看远程所有分支
git branch -r
5.制删除本地库
代码语言:apl复制#强制删除本地库develop
git branch -D develop
#删除本地库develop
git branch -d develop
6.新建分支并切换
代码语言:apl复制#建立一个新的本地分支dev_3,并切换到 dev_3 分支
git checkout -b dev_3
7.将指定分支合并到当前
代码语言:apl复制#将分支dev与当前分支进行合并
git merge origin/dev
8.切换到 dev 分支
代码语言:apl复制#切换到本地dev分支
git checkout dev
9.依据 A 创建 B
代码语言:apl复制#从主分支dev_3创建branch_3分支
git branch branch_3 dev_3
10.重命名
代码语言:apl复制#将branch_3重命名为branch_5
git branch -m branch_3 branch_5
11.切换远程分支
代码语言:apl复制#切换到branch_1.0/master分支
git checkout branch_1.0/master
12.切换到上一个分支
代码语言:apl复制#切换到上一个分支
git checkout -
13.本地与远程关联
代码语言:shell复制#建立追踪关系,在现有分支branch与指定的远程分支remote-branch之间
git branch --set-upstream [branch] [remote-branch]
Git 是一个开源的分布式版本控制系统,由 Linus Torvalds 创建,用于有效、高速地处理从小到大的项目版本管理。Git 是目前世界上最流行的版本控制系统之一,广泛应用于软件开发中。
以下是 Git 的一些核心概念和功能:
- 分布式版本控制:与集中式版本控制系统(如 SVN)不同,Git 允许每个开发者拥有完整的代码库副本,包括完整的历史记录。
- 分支(Branching):Git 支持快速创建和合并分支。分支是指向代码库中特定提交的可移动指针。
- 合并(Merging):合并是将两个或多个开发历史合并在一起的过程。
- 标签(Tagging):用于标记特定的提交,通常用于版本发布。
- 暂存区(Staging Area):也称为索引,是准备下一次提交的文件列表。
- 提交(Commit):保存项目历史和文件快照的记录。
- 远程仓库(Remote Repositories):可以是服务器上的仓库,用于与他人共享代码。
- 克隆(Cloning):从远程仓库复制代码库到本地。
- 拉取(Pull):从远程仓库拉取最新的代码并合并到本地。
- 推送(Push):将本地的提交推送到远程仓库。
- 拉取请求(Pull Requests):在分布式开发环境中,用于请求将你的更改合并到主分支。
- 分支策略:Git 支持多种分支策略,如 Git Flow、GitHub Flow 等。
- 钩子(Hooks):Git 允许在特定事件发生时执行脚本,如提交前、推送前等。
- 子模块(Submodules):允许将一个 Git 仓库作为另一个 Git 仓库的子目录。
- 工作流:Git 支持多种工作流,如集中式工作流、功能分支工作流等。
Git 的命令行工具非常强大,但同时也有图形用户界面(GUI)客户端,如 GitHub Desktop、SourceTree、GitKraken 等,使得非技术用户也能轻松使用 Git。
Git 通常与 GitHub、GitLab 或 Bitbucket 等在线托管服务一起使用,这些服务提供了额外的功能,如代码审查、持续集成/持续部署(CI/CD)、项目管理工具等。