git学习之本地分支与远程分支

Git是目前最先进的分布式版本控制系统,常被用于代码版本管理。在实际使用中,分支是Git一个十分常用的特性,相较于其他版本控制系统(Version Control System, VCS ),git的分支管理十分轻量且快速。这主要得益于其底层的设计,很多旧的VCS的分支是对某个版本的整个拷贝,因此新增、删除、更改分支的速度十分缓慢;而Git的分支实际上是一个指向某个版本的指针,对分支的增删改操作就相当于对指针的增删改,因此十分快速轻量。

git是分布式的,每一份clone都是一个完整的版本库,因此可以把当前设备上的clone称为本地,而其他设备上的clone称为远程。但在实际协作时,并不会直接与同伴的电脑互为远程来同步代码,而是有一台“中央服务器”作为大家共同的远程,方便存储并交换大家的修改,像github、gitlab、gitee等网站就是提供了这种基于Git的远程托管服务。

本地分支就是本地Git仓库里的一个指针,指向某个提交

远程分支是远程仓库里的一个指针,指向远程仓库中的某个提交

远程引用是本地对远程的引用,包括分支、标签等等。

远程跟踪分支就是本地对远程分支的引用,是本地的一个指针,一旦进行了网络通信,git就会移动它们以精确地反应远程分支的状态。远程跟踪分支的命名形式为/

跟踪分支是让本地的一个分支branchA与远程跟踪分支origin/branchB关联起来,这样在本地的branchA上执行git push/pull时,git就知道了该推送/拉取远程的哪个分支了。

常用操作

  1. 新建一个本地分支feature1。即在当前版本上新建一个分支,也就是新增一个指向当前版本的指针
git branch feature1
  1. 切换到feature1分支。改变HEAD的指向至对应的分支;HEAD是git中一个特殊的指针,它永远指向本地的当前活跃分支,因此在本地切换分支就相当于改变HEAD的指向。
git checkout feature1
  1. 新建并切换到分支feature1,操作1和2可以合并成一个步骤
git checkout -b feature1
  1. 还可以将feature1推送到远程
git push origin feature1

这样远程就会新增一个名为feature1的分支,并且本地的feature1会自动跟踪远程的feature1

5.如果不想让远程的分支也命名为feature1

git push origin feature1:feature1_o

这个命令意为将本地的feature1分支,推送到远程,在远程的分支名为feature1_o,并跟踪之

可以发现上个命令其实是git push origin feature1:feature1的简化

  1. 合并分支。在feature1上做了一些修改提交后,还可以将提交merge到主分支
git checkout master  // 先将当前分支切换为master
git merge feature1 // 再将feature1合并进当前分支

合并feature1上的提交后,如果想将这些提交同步到远程的master,则可以执行 git push origin master将本地合并的提交推送到远程

  1. 在feature1分支合并后,还可以再删除分支feature1
git branch -d feature1
  1. 如果未执行合并便删除分支,git会提示错误error:分支'feature1' 没有完全合并,如确定要删除,可使用-D强制删除
git branch -D feature1
  1. 同样也可以删除远程分支
git push origin :feature1_o

这里其实运用了个小技巧,将本地的“空”推送到远程的feature1_o分支,也就是删除了远程feature1_o分支

git本地分支远程分支是在版本控制系统Git中的两种类型的分支本地分支是在本地仓库中创建和管理的分支,而远程分支是在远程仓库中创建和管理的分支。它们之间可以建立映射关系以便进行推拉操作。 可以使用以下命令来查看本地分支远程分支的映射关系:git branch -vv。这个命令可以显示本地分支远程分支之间的关系。如果本地分支没有和远程分支建立关系,那么就无法进行推拉操作。 要在本地创建一个和远程分支一样的分支,可以使用以下命令:git checkout --track -b localBranchName origin/remoteBranchName。这个命令会创建一个新的本地分支,并将其指定的远程分支关联起来。 如果要切换到远程分支并跟踪它,可以使用以下命令:git checkout --track -b origin/remoteBranchName。这个命令会创建一个新的本地分支,并将其指定的远程分支关联起来。 另外,如果在远程仓库中已经创建了一个分支,可以使用以下命令将其检出到本地git checkout -b feature-branch origin/feature-branch。这个命令可以将指定的远程分支检出到本地仓库中的一个新分支。 总结来说,本地分支远程分支Git中两种不同类型的分支,可以通过合适的命令来建立它们之间的映射关系,以便进行推拉操作和分支管理。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [git本地分支远程分支](https://blog.youkuaiyun.com/zhizhengguan/article/details/113174482)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值