Git应用详解第五讲:远程仓库Github与Git图形化界面

文章目录前言一、`Git`裸库二、本地仓库与远程版本库1.`git push`与`git pull``git push`的三种情况`git pull`实质2.`Github`和`Gitlab``Github``Gitlab`三、本地仓库 `->` 远程版本库1.建立联系`HTTP/HTTPS`协议`SSH`协议生成秘钥对部署公钥添加账户`SSH`2.推送代码3.查看远程仓库地址4.修改远程仓...
摘要由CSDN通过智能技术生成

前言

前情提要:Git应用详解第四讲:版本回退的三种方式与stash

这一节将会介绍本地仓库与远程仓库的一些简单互动以及几款常用的Git图形化界面,让你更加方便地使用git

一、Git裸库

简单来说git裸库就是没有工作区的git仓库。比如服务器,只起到代码托管的作用而不需要也不应该修改服务器上的代码。

可通过以下指令创建git裸库:

git init --bare

创建完成之后,查看当前文件目录:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CR4bKAJC-1586965022559)( http://ahuntsun.gitee.io/blogimagebed/img/git/lesson5/1.png)]

可以看到并不存在工作区目录,表明git裸库仅仅是用来存放和中转开发者提交的代码。

二、本地仓库与远程版本库

  • **本地仓库:**也就是之前所讲的git仓库,分为三个区:工作区,暂存区和版本库;
  • 远程版本库:与本地版本库相对应的远程在线版本库,属于裸库

我们一般会在本地git仓库的工作区和暂存区中对文件进行修改,然后提交到本地版本库,并最终推送到远程版本库进行托管。整个流程如下图所示:

image-20200415215625991

远程仓库的实质就是本地仓库中的版本库对应的远程版本库,通常直接叫做远程仓库

远程仓库(版本库)的存在作用为:供多台计算机间交换信息,相当于交换两个数过程中的第三方容器。

1.git pushgit pull

这两个命令是我们使用远程仓库时非常常用的命令,它们十分的重要:

  • git push:将本地仓库某分支上的代码推送到远程仓库的某分支上;注意了,推送操作是分支对分支的,而不是将本地仓库的所有分支都推送到远程仓库,如下图所示(假设推送到远程同名分支):

    image-20200415222039765

  • git pull:将远程仓库文件拉取到本地版本库,也就是将本地仓库中没有的文件都拉取到本地仓库的版本库中,所以进行拉取操作后,本地仓库的工作区是干净的:

    image-20200415222320473

    这里的ststatus的别名,有关别名的内容,后续会进行详细讲解。

push指令的完整写法:

git push origin srcBranch:destBranch

其中srcBranch表示的是本地分支destBranch表示的是远程分支

pull指令的完整写法:

git pull origin srcBranch:destBranch

其中srcBranch表示的是远程分支destBrach表示的是本地分支

不要混淆了,可以这样理解:srcBranch表示从哪里来destBranch表示到哪里去

git push的三种情况
  • **情况一:**只有一个用户操作远程仓库时,由于本地仓库对所有的文件和操作都进行了追踪,所以即使本地仓库删除之前推送到远程仓库的文件,再次执行推送时也不需要执行git pull操作。

    例如,远程仓库有这么些文件:

    image-20200410204056615

    在对应的本地仓库中将其他文件删除,只留下README.md,此时再向该远程仓库推送。推送过程十分顺利,并不需要执行git pull操作拉取合并远程仓库中的文件。

  • **情况二:**也是只有一个用户操作远程仓库,但是不通过本地推送来更新远程仓库,而是直接为远程仓库添加文件,比如手动添加README.md

    这个时候,由于本地仓库并没有对远程仓库中新增的README.md进行追踪,所以再次推送时会出现如下错误:

    image-20200410205057781

    此时需要执行git pull操作对远程仓库中新增的文件进行拉取、合并与追踪,之后才能进行git push

  • **情况三:**多人共用同一远程仓库,比如用户AB,这个时候由于远程仓库上有A提交的而B没有的文件。所以B在执行git push前,要先执行git pull操作,将远程仓库中这些没有的文件进行拉取、合并与追踪。

git pull实质

在进行拉取操作的过程中,会执行合并

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值