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

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

相关推荐
惜晨宝贝8 分钟前
文件上传格式限制
前端·html5·上传测试
IT_陈寒39 分钟前
Vue3性能优化实战:7个被低估的Composition API技巧让渲染提速40%
前端·人工智能·后端
颖风船1 小时前
膨胀腐蚀及底层实践,拒绝opencv,matlab等方式
前端·opencv·matlab
俩毛豆1 小时前
【毛豆工具集】【文件】【目录操作】生成沙盒目录
前端·javascript·鸿蒙
霁月的小屋1 小时前
从Vue3与Vite的区别切入:详解Props校验与组件实例
开发语言·前端·javascript·vue.js
美酒没故事°1 小时前
vue3+element实现复杂表单选中回显
前端·javascript·vue.js
Gogym1 小时前
解决vue axios提交日期,服务器接收少一天的问题
前端·javascript·vue.js
韭菜炒大葱1 小时前
LangChain 二:输出结果定制与历史管理能力详解
前端·langchain·openai
明月_清风2 小时前
不止是代码堆放:带你全面掌握 Monorepo 核心技术与选型
前端