【前端工程化指南】Git常见操作之分支相关操作

分支相关操作

在Git仓库中一条分支就代表着一条独立的开发线,分支允许开发人员在不影响主线开发的情况下进行并行开发,实现新功能或修复错误。待完成任务后,又可以将分支合并回主线或其他分支。

上面的图表展示了一个具有两条独立开发线的仓库,一条用于一个小功能,另一条用于一个长期运行的功能。通过在分支中开发它们,不仅可以并行地处理两者,而且还可以保持main分支不受可疑代码的影响。

对于分支的查询/创建/删除/跟踪/切换主要使用了git branchgit checkout以及git push等命令,下面我们就开始详细介绍。

查看分支

我们可以通过git branch命令查看本地仓库的所有分支

shell 复制代码
git branch

通过加-a参数即可查看与本地仓库关联的远程仓库的所有分支

shell 复制代码
git branch -a

创建分支

我们可以通过以下命令为本地仓库创建分支

shell 复制代码
git branch <branch_name> [<remotes_branch_name>]
  • <branch_name>(必须):指定分支名称。
  • <remotes_branch_name>(可选):指定创建的分支需要关联(跟踪)的远程仓库的分支,不指定则不关联远程仓库分支

执行该命令使用当前本地分支创建远程分支,创建远程分支需要在已有的本地仓库且未与远程分支关联的分支下执行以下命令。

xml 复制代码
git push <remote_repo> <remote_branch_name>
  • <remote_repo>(必须):指定远程仓库,一般为origin。
  • <remotes_branch_name>(必须):指定创建的远程仓库分支的名称。

切换分支

我们可以通过以下命令切换当前分支

shell 复制代码
git checkout <branch_name>
  • <branch_name>(必须):指定需要切换的分支名称。

我们还可以使用该命令加-b参数,新建并切换到新建的分支

shell 复制代码
git checkout -b <branch_name> [<remotes_branch_name>]
  • <branch_name>(必须):指定需要新建并切换的分支名称。
  • <remotes_branch_name>(可选):指定创建的分支需要关联(跟踪)的远程仓库的分支,不指定则不关联远程仓库分支

删除分支

我们可以通过以下命令删除本地分支

shell 复制代码
git branch -d <branch_name>
  • <branch_name>(必须):指定需要删除的本地分支名称。

如果分支有未合并的更改,使用上述删除命令 git会阻止您删除该分支,们可以通过以下命令强制删除本地分支

shell 复制代码
git branch -D <branch_name>
  • <branch_name>(必须):指定需要删除的本地分支名称。

重命名分支

我们可以通过以下命令重命名本地仓库分支的名称

shell 复制代码
git branch <branch_name> -m <re_branch_name>
  • <branch_name>(必须):需要修改名称的分支的原始名称。
  • <re_branch_name>(必须):新分支名称。

跟踪远程分支

跟踪远程分支是git中的术语,本地仓库分支关联远程仓库分支即称为跟踪,跟踪远程分支后可以与他人同步和协作开发。

我们可以通过以下命令查看当前本地分支跟踪的远程分支

shell 复制代码
git branch -vv

我们可以通过以下命令将本地分支关联到远程仓库分支,也可以使用该命令切换本地分支关联的远程分支

shell 复制代码
git branch <branch_name> --set-upstream-to=<remote_repo>/<remote_branch_name>
  • <branch_name>(必须):需要关联的本地分支的名称。
  • <remote_repo>(必须):指定远程仓库,一般为origin。
  • <remotes_branch_name>(必须):指定需要关联的远程分支的名称。

点击链接或微信搜索"汪啊汪" ,关注我及时掌握最新动动态

完整手册可关注该仓库,如有帮助,麻烦给个✨

该站点也会同步更新,已满足PWA,您可安装到桌面随时访问

转载需要经过本人同意,并标明出处!

相关推荐
爱喝白开水a2 小时前
前端AI自动化测试:brower-use调研让大模型帮你做网页交互与测试
前端·人工智能·大模型·prompt·交互·agent·rag
董世昌412 小时前
深度解析ES6 Set与Map:相同点、核心差异及实战选型
前端·javascript·es6
吃杠碰小鸡3 小时前
高中数学-数列-导数证明
前端·数学·算法
kingwebo'sZone3 小时前
C#使用Aspose.Words把 word转成图片
前端·c#·word
xjt_09014 小时前
基于 Vue 3 构建企业级 Web Components 组件库
前端·javascript·vue.js
我是伪码农4 小时前
Vue 2.3
前端·javascript·vue.js
夜郎king4 小时前
HTML5 SVG 实现日出日落动画与实时天气可视化
前端·html5·svg 日出日落
夏幻灵5 小时前
HTML5里最常用的十大标签
前端·html·html5
Mr Xu_5 小时前
Vue 3 中 watch 的使用详解:监听响应式数据变化的利器
前端·javascript·vue.js
未来龙皇小蓝6 小时前
RBAC前端架构-01:项目初始化
前端·架构