0


【Git学习-远程仓库高级操作】

文章目录

Git远程仓库高级操作

本节主要介绍Git远程仓库操作参数形式

上节回顾

在上一节中我们主要讲解了Git远程仓库的一些操作,包括克隆、拉取、推送等。

git clone git链接; //克隆远程仓库到本地
git fetch;  //从远程仓库获取数据,此时本地中的远程分支会指向最新的提交记录,但是本地的分支不会发生改变
git pull;  //从远程仓库和获取数据,并合并到本地分支,相当于git fetch和git merge两个命令
git push;  //推送本地提交到远程仓库

上节具体内容请点击:【Git学习-与远程仓库通信】

本节内容

相信你也发现了,到目前为止,我们对远程仓库的操作都没加任何参数,也就是说,当前我们只是假设远程仓库只有一个分支(或者分支树较少且简单的情况),但是这显然是不现实的,对于团队协作的项目来说,肯定会存在多个分支,不管是本地还是远程仓库,所以接下来,我们给这些远程操作加上参数,从而更准确的对远程仓库进行操作。

git push的参数1

git push 《remote》《place》;//这是git push的第一种参数格式,当指定"place"这个参数的值为master时,就表示将本地仓库中的matser分支中的最新修改推送到远程仓库origin中的master分支上,也就是place这个参数指定了本地和远程仓库分支的名称,二者保持一致。

操作前:
在这里插入图片描述
执行:

git checkout c0;  //分离特性,将当前HEAD指向c0这个提交记录
git push origin master;  //切换到本地仓库中的master分支,获取所有提交,再到远程仓库origin中找到master分支,将远程仓库没有的提交记录都添加上去。

结果:
在这里插入图片描述

注意:这里并不需要先checkout到本地仓库的master分支上;

git push的参数2

前面给git push添加参数的时候,我们说place这个参数的值使得本地分支和远程分支的名称保持一致,即来源和去向分支的名称都是master。你可能想问,如果来源和去向分支的名称不同呢?比如想把本地的foo分支推送到远程的bar分支,怎么操作呢?

git push origin 《source》:《destination》; //看到了吗,只要用“:”将来源和目的地分开,就能实现不同的来源和目的分支啦。

操作前:
在这里插入图片描述
执行:

git push origin foo^:master;  //将foo的父提交及往上的新的修改推送到远程的master分支上

结果:
在这里插入图片描述

git fetch的参数

git fetch的参数形式和git push的参数形式很像,只不过方向是相反的。

参数形式1:
git fetch origin foo; //Git会到远程仓库的foo分支上,然后获取所有到本地不存在的提交,放到本地的o/foo上。

注意:这里是放到本地的o/foo分支上,而不是foo分支,因为fetch只是下载提交记录,不会更新非远程分支,有了下载好的提交记录之后,你可以对其进行检查或合并了

操作前:
在这里插入图片描述
执行:

git fetch origin foo;

结果:
在这里插入图片描述

参数形式2:
git fetch origin foo~1:bar ; //表示将远程仓库中的foo分支上的父提及及往上的新的提交记录下载到本地bar分支。

注意:这种参数形式可以使得本地分支直接更新

操作前:
在这里插入图片描述
执行:

git fetch origin foo~1:bar;

结果:
在这里插入图片描述

git pull的参数

git pull的参数操作和git fetch与git push的参数操作类似,git pull到头来就是fetch后加merge操作的缩写,你可以理解为同样的参数执行git fetch,然后再merge你所抓取到的提交记录。

参数形式1:
git pull origin foo;
参数形式2:
git pull origin bar~1;bugFix;

操作前:
在这里插入图片描述
执行:

git pull origin master:foo;  //先在本地创建一个foo分支,从远程仓库的master分支中下载提交记录,并合并到foo,然后再merge到我们当前检出的分支bar上。

结果:
在这里插入图片描述

没有source的source

Git有两种关于《source》的用法是比较特殊的,即你可以再git push或git fetch的时候仅保留冒号和《destination》部分,《source》部分留空。

git push origin :foo; //通过给push传空值,会删除远程仓库的foo分支
git fetch origin : bar; //拉取的时候传空值给本地bar分支,如果没有bar分支,会新建一个bar分支。

这里只演示第一个命令
操作前:
在这里插入图片描述
执行:

git push origin :foo;

结果:
在这里插入图片描述
可以看到通过这种传空值的方式,删除了远程仓库中的foo分支。

总结

在本节中,我们主要介绍了Git远程仓库的高级操作。这也是Git学习的最后一节,后面可能会加入一些通过Git来管理实际项目的例子。
学习目录:
【Git学习——基础篇】
【Git学习——高级篇1】
【Git学习——高级篇2】
【Git学习——与远程仓库通信】


本文转载自: https://blog.csdn.net/weixin_45697036/article/details/136039737
版权归原作者 AIWhispers 所有, 如有侵权,请联系我们删除。

“【Git学习-远程仓库高级操作】”的评论:

还没有评论