Git原理杂谈之pull/push命令

这边文章是基于之前三篇文章的后续篇,之前三篇能够帮助小白同学概要性地理解Git的整体原理及快速掌握Git基本技能以进入团队开发,所以建议对Git只了解些浅层内容的看客老爷们先看完前三篇再从本篇开始往后看。因为从本篇开始,小编将会挑一些细节内容给大家进行解析,这些细节内容是建立在读者已经掌握了整体原理的基础上的。

 

好了废话不多说了,直接进入今天的主题——git push/ git pull命令。

也许很多人会轻视这两个最常见且高频使用的命令,这有什么可讲的?没错,如果项目没有出问题的情况下,我们大可不必关心这两个命令的原理及涉及到的所有细节,直接使它们喽~但是一旦项目出了什么小问题,使项目管理稍微脱离了“正常”流程,如果不了解这两个命令的话,大部分都容易傻眼。

续之前几篇的风格,小编先从偏表层讲清楚一些原理,等消化后再进一步讲解内部的细节原理。(PS:了解了各层次的原理后才能遇到问题都能理智地分析并解决掉问题)

 

Upstream:这个概念虽然不官方,但也非纯粹小编自造,希望大家首先了解一下。心存感激,如果当我们上来就能够顺利使用git push(git pull同理,后文尽量只拿一个来讲)命令就能实现推送数据到服务器上的时候,我们是幸运的。因为有幸在一些底层的未知设置下我们才能够简单地使用git push命令。其实,如果稍微写全面一点的话,很有可能我们的命令是像这样的:git push origin master。origin是远程端代名词(前几篇有讲解),master是这个远程端的一个分支名。所以这句命令的意思可以理解成“推送我的数据到origin端的master分支上去”。为什么很多时候,我们根本没有写这么全,也能够实现呢?而且刚才的解释也没有说明:把什么数据哪里的数据推送上去? 所以通过这些问题的引入,希望读者们能够开始进行思考问题并去了解其内在的原理。这里可以引入一个upstream的概念。可以将upstream理解成一个通道,它用于连接你本地的一个分支和远程的某个分支。

比如远程库A上有3个分支branch1、branch2、branch3。远程库B上有3个分支branchx、branchy、branchz。本地仓库有2个分支local1和local2。那么当初始状态时,local1和local2和任何一个分支都没有关联,也就是没有upstream。当通过git branch --set-upstream-to=A/branch1 local1命令执行后,会给local1和branch1两个分支建立关联,也就是说local1的upstream指向的是branch1。这样的好处就是在local1分支上执行git push(git pull同理)操作时不用附加其它参数,Git就会自动将local1分支上的内容push到branch1上去。同样,local2分支也可以和远程库A和远程库B上的任何一个分支建立关联,只要给local2分支设

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值