不知道大家有没有经历过,当我们切换到了一个新的分支想要提交代码的时候,总会遇到这样的错误。
我们把日志里的英文翻译过来是说,我们当前的分支没有设置任何上游分支。然后git提示我们可以运行下面这行代码来设置远程的上游,这样我们就可以push成功了。
当然如果我们push的时候执行的不是git push,而是后面再加上origin的话,就可以push成功了。比如这样:
那么这是什么原因呢?这个origin分支又是什么意思呢?我们今天就来讨论一下这个问题。
远程分支
远程分支其实就是远程代码仓库当中的分支,比如我们的repo如果是存在github的,那么这个远程仓库就是github,如果是存在gitlab的,那么这个仓库就是gitlab,如果是其他的仓库也是一样的道理。
当我们在使用git clone的时候,git会自动地
将这个远程的repo命名为origin,拉取它所有的数据之后,创建一个指向它master的指针,命名为origin/master,之后会在本地创建一个指向同样位置的指针,命名为master,和远程的master作为区分。
也就是说,origin的含义指的是远程的仓库。它只是一个标记,就和默认分支叫做master一样,本身并没有特别的含义。如果我们愿意也可以起其他的名字,但是一般没有人这么干。比如我们在clone的时候可以添加一个参数-o给远程的repo起一个别名:
这样一来,远程的这个repo就会被命名为chengzhi,代替原本的origin。但是这样除了装逼和增加成本之外,没有任何用处,不推荐这么干。
操作命令
还记得我们之前在介绍git的时候曾经说过远程repo的作用,就是为了防止本地的代码错乱,所以在远程留一份备份。这样即使我们的代码完蛋了,至少还可以找到备份。
所以远程的repo更大的作用就是保留备份,既然要保留备份,那么我们本地和远程的代码交互肯定是免不了的。大家可能都大概知道git pull从远程拉取,git push推送到远程,但是对于这其中的细节可能不太清楚。之前没有详细介绍过远程分支,所以也没办法深入,我们今天刚好聊到这个话题,正好好好说道说道。
代码拉取
我们先说代码拉取,说到代码拉取大家的之一反应可能是git pull。但是其实git pull并不是严格意义上的代码拉取命令,至少它还不是最细粒度,其实还有一个比git pull更加细粒度的操作。它就是——git fetch。
1 |
十月妈咪的防辐射服在国内知名度应该算比较高的了,很多怀孕妈妈出于健康考虑或者是心里安慰基本上都会购买防辐射服。不管这个东西到底有没有必要,小编今天来针对十月妈咪防辐射服原理以及产品做一个简单评测!...
美味的炸鸡深得消费的喜爱,而蜜思炸鸡杯获得众多消费者的信赖,蜜思炸鸡杯是京国投餐饮旗下的项目,京国投餐饮主张不是打着韩食的名义,而是实打实做韩国风味的美食。蜜思炸鸡杯,在韩国本土同样是人气十足,常常见...
新智元讯 11月29日中午信息,联想公司(新浪微博)CEO杨元庆在今天举办的想到移动互联网发展战略新品发布会上表明,自身十分看中语音功能,在汉语语音交互行业,想到将不容易落伍于别的生产商。 ...
SEO是一个漫长的道路,任何的优化策略只要是白帽技术,它都需要一定的周期来验证,这就给我们SEO工作带来双面性。 如果你选择错误的优化方法,那么,在很长一段时间内,你无异于是在浪费资源与时间成本,特...
就当前来看,余额宝可谓是国民级别的理财工具,兼具投资和消费支付等功能。一经面世,余额宝就吸引了数以亿计的投资者关注。截止目前,余额宝已经成为全球最大的货币基金产品。不过,在享受余额宝便捷理财和支付服务...
奶茶店是此刻人们极为喜爱的一种加盟项目,有着较低的投资门槛,并且对付此刻人们来说,是颇为值得信任的,奶茶获得了各人的信任,也获得了市场的份额,奶茶使人们得到了不错的加盟机会。奶茶店是本身开好照旧加盟好...