当前位置: 首页 > news >正文

《Git快速入门》Git分支

1.master、origin、origin/master 区别

首先搞懂git分支的一些名称区别:

master : Git 的默认分支名字。它并不是一个特殊分支、跟其它分支完全没有区别。 之所以几乎每一个仓库都有 master 分支,是因为 git init 命令默认创建它,并且大多数人都懒得去改动它。

origin :Git 克隆的仓库服务器的默认名字。

origin/master:是当本地的 master 分支同步到服务时的名字。如果分支名称为 ForDebug、当分支同步到服务器时、会看到服务器上的名字为 origin/ForDebug。

注:master是一个默认分支名称,origin是一个默认仓库服务器名,服务器名和分支名是两个概念

2.查看分支的指令

#查看本地仓库分支

git branch 

#查看远程仓库分支

git branch -r

#查看全部(远程和本地)仓库分支

git branch -a

3.创建本地分支

// 写法一:创建新分支
git checkout -b yourbranch    // yourbranch 新分支名// 写法二:基于某分支创建自己的新分支
git checkout -b yourbranch origin/basebranch   // basebranch老分支名// 写法三:
git branch yourbranch      //创建某个分支
git checkout yourbranch    //表示切换到某个分支

4.删除分支

4.1 删除本地分支
# 如果分支包含未合并的更改和未推送的提交,则 -d 标志将不允许删除本地分支
# -d 是 --delete 的别名
git branch -d [branch_name] # 强制删除本地分支,不考虑其合并状态
# -D 是 --delete --force 的别名
git branch -D [branch_name] 
4.2 删除远程分支

git push <远程仓库名称> -d [分支名称]

注:此处的分支名称不要带远程仓库名称,示例: 

git push origin -d LIO-SAM_jq

5.提交本地代码到远程仓库分支

git push <远程仓库名称> <本地仓库分支>:<远程仓库分支>

注意:遵循“从哪到哪的原则”,同样此处远程仓库分支不要带仓库名称,示例:

git push origin master:LIO-SAM_jq

6.本地分支的使用方法

在一个项目中,默认的分支为master,下面展示如何在一个新的分支上修改代码,而不改变主分支的代码。

6.1 创建新的分支A

git checkout -b A

6.2 在新的分支A上新创将一个A.cpp文件

vim A.cpp

6.3 提交改动到缓存区

git add .

6.4 提交改动到本地仓库分支

git commit -m "备注"

经过上面4个步骤,我们在新的分支上修改了代码,并提交到了本地仓库分支,当我们切换回master分支后,会发现本地的A.cpp文件不存在。

注意缓存区是本地所有的分支共享的,因此只进行到了6.3步骤的话,切换回master主分支后,会发现A.cpp文件依旧存在。

http://www.lryc.cn/news/267500.html

相关文章:

  • HarmonyOS应用性能与功耗云测试
  • 【AI】人工智能本地环境集成安装
  • 主流级显卡的新选择,Sparkle(撼与科技)Intel Arc A750兽人体验分享
  • BI 商业数据分析能够给企业带来什么改变?
  • 模式识别与机器学习-特征选择和提取
  • 嵌入式——RTC闹钟Alarm
  • 【linux】线程控制
  • Swift学习笔记第三节:Set类型
  • 【前端】安装指定版本的nodejs
  • 多商户小程序开源商城源码 打造微信商城新零售网店
  • 云仓酒庄的品牌雷盛红酒LEESON分享干红是纯葡萄酿造的吗?
  • PHP函数学习总结
  • 5G RedCap:轻量5G技术的新宠
  • 【LeetCode 热题 HOT 100】题解笔记 —— Day04
  • rust中的超时处理
  • DML语言(重点)———update
  • Mybatis使用详解
  • 云原生周刊:Karmada 成为 CNCF 孵化项目 | 2023.12.25
  • 【开源】基于JAVA的学校热点新闻推送系统
  • Java基于TCP网络编程的群聊功能
  • CentOS+ISCSI
  • RHCE9学习指南 第11章 网络配置
  • Qt如何在控制台项目中使用opencv打开视频
  • Node.js 默认包管理器 npm 详解
  • vue利用深拷贝解决修改不能取消的问题
  • MATLAB - 使用 YOLO 和基于 PCA 的目标检测,对 UR5e 的半结构化智能垃圾箱拣选进行 Gazebo 仿真
  • 个性化定制的知识付费小程序,为用户提供个性化的知识服务,知识付费saas租户平台
  • 基于flask和echarts的新冠疫情实时监控系统源码+数据库,后端基于python的flask框架,前端主要是echarts
  • 总结js中遍历对象属性的方法
  • 编写fastapi接口服务