Git 学习笔记 | Git 分支

Git 学习笔记 | Git 分支

Git 学习笔记 | Git 分支

分支的概念

几乎所有的版本控制系统都以某种形式支持分支。

使用分支意味着你可以把你的工作从开发主线上分离开来,避免影响开发主线。

多线程开发,可以同时开启多个任务的开发,多个任务之间互不影响。

为什么要使用分支?

单线程开发:

多线程开发:

思考如下现象:

10.1日业务部门提出需求:明年元旦3天做2个促销活动

  1. 12.31 号上线活动1
  2. 1.4号上线活动2,同时 要求撤销活动1

你所在部门领导为了保证能顺利完成,要求 11.15 号完成上述连个功能的开发工作

此时作为开发人员要面临两个文件:活动1 的代码,即要存在(12.31 要用)又要不存在(1.4 号要求删除),我们怎么做?

显然比较棘手,如果使用分支(可以理解为将代码复制一份)将很好解决。

常用指令

Git 分支中常用指令:

列出所有本地分支:

复制代码
git branch

列出所有远程分支:

复制代码
git branch -r

新建一个分支,但依然停留在当前分支:

复制代码
git branch [branch-name]

新建一个分支,并切换到该分支:

复制代码
git checkout -b [branch]

合并指定分支到当前分支:

复制代码
git merge [branch]

删除分支:

复制代码
git branch -d [branch-name]

删除远程分支:

复制代码
git push origin --delete [branch-name]
git branch -dr [remote/branch]

如果同一个文件在合并分支时都被修改了则会引起冲突。

解决的办法是我们可以修改冲突文件后重新提交,选择保留其中一份代码。

一般的做法:

master主分支应该非常稳定,用来发布新版本,一般情况下不允许在上面工作。

工作一般情况下在新建的dev分支上工作,工作完后,比如上要发布,或者说dev分支代码稳定后可以合并到主分支master上来。

相关推荐
MartinYeung58 小时前
[论文学习]DP-Fusion:面向大语言模型的令牌级差分隐私推理-深度解析
人工智能·学习·语言模型
zwenqiyu9 小时前
非线性字符串数据结构串讲
数据结构·c++·学习·算法
钟智强9 小时前
我警告了 329 天
git·php·wordpress·webshell
MartinYeung510 小时前
[论文学习]SecureGate:通过令牌级门控学习何时安全地揭示PII-深度解析
学习·安全
大鱼>11 小时前
超参数调优进阶:Optuna/Bayesian/Early Stopping
人工智能·学习·机器学习·聚类
乐观的冷风11 小时前
我们需要将文件添加到暂存区才能提交,而移除文件后是无法添加到暂存区的,那么怎么移除一个文件让GIT不再将其纳入版本控制呢?上图中GIT已经给出了说明:
git
liuyicenysabel11 小时前
多服务上线日记二:
服务器·笔记·学习
小弥儿12 小时前
GitHub今日热榜 | 2026-07-05:阿里巴巴浏览器Agent上榜
学习·开源·github
‿hhh12 小时前
Dify核心模块详解:从文本生成到智能体
人工智能·学习·microsoft·agent·上下文·记忆
辰海Coding12 小时前
MiniSpring框架学习笔记-动态代理:如何在运行时插入逻辑?
java·笔记·学习·spring·动态代理