六、Git远程仓库操作——创建远程库、推送拉取和克隆远程库等操作

1. 远程仓库介绍

前面的关于git的操作,都是基于本地仓库进行操作的。

但是如果我们想通过 Git 分享自己的代码或者与其他开发人员合作,这时我们就需要将数据放到一台其他开发人员能够连接的服务器上,这台服务器就是代码托管中心,或者说是远程仓库

本地和远程仓库的操作大致如下图所示:

我们有两种两种方式搭建代码托管:

  1. 只在局域网中(就是不能访问百度等外网),那么我们可以选择某一台电脑作为服务器,然后使用 Gitlab 来自己搭建一个代码托管中心;
  2. 可以访问外网的情况下(就是可以访问百度、谷歌等网站),那么可以选择 gitee 、 github 等第三方的代码托管中心。

2. github和gitee简介

2.1 github

github是一个基于git的代码托管平台,付费用户可以建私人仓库,我们一般的免费用户只能使用公共仓库,也就是代码要公开。github就是一个典型的第三方代码托管平台。

Github 由Chris Wanstrath, PJ Hyett 与Tom Preston-Werner三位开发者在2008年4月创办。

今天,GitHub已是:

  • 一个拥有143万开发者的社区。其中不乏Linux发明者Torvalds这样的顶级黑客,以及Rails创始人DHH这样的年轻极客。
  • 这个星球上最流行的开源托管服务。目前已托管431万git项目,不仅越来越多知名开源项目迁入GitHub,比如Ruby on Rails、jQuery、Ruby、Erlang/OTP;近三年流行的开源库往往在GitHub首发,例如:BootStrapNode.jsCoffeScript等。
  • alexa全球排名414的网站。

github官网:

https://github.com/

首次打开github官网时,会默认打开注册页面,然后我们直接使用邮箱注册就好,注册完之后就可以创建远程仓库等操作了。

2.2 gitee

gitee(码云)是开源中国社区推出的代码托管协作开发平台,支持Git和SVN,提供免费的私有仓库托管。

其作用和github差不多,都是第三方代码托管平台。

gitee官网:

https://gitee.com/

3. 本地仓库和gitee远程仓库协作

这里以gitee作为远程仓库,和本地git进行协作。

3.1 在本地新建一个git仓库

先在本地任何一个目录下,创建一个本地的git仓库:

3.2 创建远程仓库

1、在gitee网站首页,左侧可以点击创建仓库。

2、填写远程仓库的基本信息:

3、远程仓库创建成功:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JVaSDTiA-1670249344766)(../picture/image-20221204163035913.png)]

3.3 给远程仓库取别名

创建完远程仓库之后,就会有对应的远程仓库地址,而且gitee支持多种协议,比如 https、ssh 等。

我们对远程仓库的操作,比如拉取远程仓库代码,推送本地代码到远程仓库,我们都可以使用刚刚创建的仓库对应的地址进行操作

但是如果操作该仓库很频繁,每次操作远程仓库都要带上对应的地址很麻烦,所以我们可以给这个仓库取一个别名。

命令如下:

git remote add <别名> <远程库地址>

比如,刚刚创建的远程仓库,我取个别名叫 “gitee_test”,到时候对这个远程仓库的操作就可以直接使用这个别名替代了。

操作如下:

取了别名之后,我们可以使用下面命令查看本地仓库配置了多少远程仓库

 git remote -v

3.4 拉取(pull)远程仓库

本地仓库拉取远程仓库的内容(本地仓库 <---- 远程仓库),就是同步远程仓库内容到本地仓库,命令如下:

git pull <远程库地址名> <远程分支名称>

其中,远程仓库地址,可以使用刚刚设置得别名。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-C3Z2UKES-1670249344767)(../picture/image-20221204204224802.png)]

3.5 推送(push)本地内容到远程仓库

本地更新的内容推送到远程仓库(本地仓库 ----> 远程仓库),命令格式如下:

git push <远程库地址/别名> <要推送信息的分支(本地)>

1、我们首先在本地仓库做一些改变,比如新增一个test.c文件,然后再本地提交更新。示例如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LNogtJh8-1670249344767)(../picture/image-20221204205523530.png)]

2、本地commit之后,就可以使用push命令推送到远程仓库。

git push gitee_test master

其中,gitee_test是我前面起的远程仓库别名,master是本地仓库的分支名称。

输入上述命令之后,就完成推送了,如下图所示:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eNrPSedu-1670249344768)(../picture/image-20221204205746018.png)]

不过我在推送的时候,微软弹出了如下登录信息:

这个可能是第一次推送出现的现象,反正输入自己gitee的用户名和密码就行了。

推送完成之后,我们到gitee仓库查看是否多了刚刚添加的 test.c 文件。

4. 克隆(clone)远程仓库

上面的方式,是先在我们本地创建一个本地的仓库,然后pull拉取远程仓库内容(同步远程仓库内容到本地),然后再给远程仓库取别名等等,这种方式一步步来也是没有问题的。

但是,我们也可以直接clone一个远程仓库,clone其实也就是把远程仓库的所有内容复制到本地的意思。

命令如下:

git clone <远程仓库url>

直接克隆远程仓库的效果有:

  1. 把远程仓库所以内容直接复制到了本地,这时不用pull(拉取)操作
  2. 初始化了本地仓库,这样我们可以不用 git init 初始化一个本地仓库了
  3. 会给远程仓库起一个别名 origin 。

示例操作

比如,我们把刚刚在gitee上的远程仓库clone到本地,如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QCCLHdSX-1670249344768)(../picture/image-20221204212331403.png)]

然后我们就可以看到本地的目录下多了一个和远程仓库同名的目录,git_test目录。

这时我们使用 git remote -v 命令,可以看到默认给我们把远程仓库取了别名 origin 。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-t5BLDhpL-1670249344768)(../picture/image-20221204212637867.png)]

当我们克隆成功之后,就可以进行拉取、推送,或者查看远程仓库是否更新等操作了,这里和前面先创建本地仓库之后的拉取、推送操作其实已经是一样的。

查看远程仓库是否更新:

git remote show <远程仓库别名/地址>

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-A9lFMXCq-1670249344768)(../picture/image-20221204215412428.png)]

猜你喜欢

转载自blog.csdn.net/luobeihai/article/details/128194325