【前端工程化指南】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,您可安装到桌面随时访问

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

相关推荐
To_OC1 小时前
别再串行写 await 了,Promise.all 才是并行请求的正确打开方式
前端·javascript·promise
vipbic1 小时前
中后台越做越乱后,我用插件化把它救回来了
前端·vue.js
Hyyy1 小时前
Computer Use 适合做什么,不适合做什么——一次真实使用后的思考
前端
小和尚同志2 小时前
前端 AI 单元测试思考与落地
前端·人工智能·aigc
invicinble3 小时前
c端系统,其实更像一个信息展示平台
前端
李姆斯4 小时前
管理是否可以被完全量化
前端·产品经理·团队管理
名字还没想好☜4 小时前
Next.js 中间件实战:鉴权、重定向与 A/B 分流
开发语言·前端·javascript·中间件·react·next.js
广州灵眸科技有限公司5 小时前
瑞芯微RV1126B开发板(EASY-EAI-PI2) INI文件操作
java·前端·javascript·网络·人工智能
梦想三三5 小时前
Git与GitHub基础入门:从零开始掌握版本控制与代码托管(完整图文教程)
人工智能·git·elasticsearch·github
江华森5 小时前
Web 开发基础:HTTP 与 REST
前端·网络协议·http