保姆级Git教程5-Git远程仓库及其相关操作

    本教程一共5部分,这是第5部分

总目录:保姆级Git教程0-序章

 1、保姆级Git教程1-Git概述

2、保姆级Git教程2-Git安装与常用命令

3、保姆级Git教程3-Git本地仓库管理代码的基本操作流程

4、保姆级Git教程4-Git分支

5、保姆级Git教程5-Git远程仓库及其相关操作


目录

5、Git远程仓库

        5.1、创建远程仓库

        5.2、配置SSH公钥

        5.3、操作远程仓库

                5.3.1、关联远程仓库

                5.3.2、查看远程仓库

                5.3.3、本地仓库推送到远程仓库***

                5.3.4、本地分支与远程分支的关联与关系

                5.3.5、从远程仓库克隆clone到本地

                5.3.6、从远程仓库中抓取和拉取

                5.3.7、解决克隆仓库或本地仓库无法推送的问题

                5.3.8、解决远程抓取后合并冲突


5、Git远程仓库

        常见远程仓库有gitHub、Gitee码云、GitLab

        gitHub在服务器国外,国内不好访问、Gitee码云是国内的、GitLab是自己搭建的,一般是企业内部使用的

        所以我演示gitee,想看gitHub的可以等后面我可能会发

        gitee码云的网址:

        Gitee - 基于 Git 的代码托管和研发协作平台

        注册登录就不演示了

        5.1、创建远程仓库

                登录账号后来到gitee首页,在右上角的加号+,中选择创建仓库

                

                 填上仓库名称、仓库介绍,路径会自动与仓库名称同名

                开源指的是我们的仓库公开在网上,别人可以看见并克隆我们的仓库

                私有就是自己才能看到和操作

                 

                下三个选项都不要选

                我们要把本地仓库推送上来,所以不用初始化仓库

                当你项目一开始是从码云是创建的就可以勾选初始化仓库 

                填完了就点击下方创建仓库,创建完就是这个界面,下面我们要把仓库推送上来

                

        5.2、配置SSH公钥

                 我们要想一下,那是不是每个人都可以往我们仓库推送?

                当然不可以,需要限制推送权限,一般有两种方法

                1、验证仓库创建者的账号密码

                2、使用公私钥对

                一般我们采用第2种方法较为安全

                在右上角账号头像里进入设置,左边找到SSH共钥配置,官方有生成公钥教程

                可以看官方的,也可以继续往下看

                

                 生成公钥就一个命令,在Git Bash命令窗口输入它

                ssh-keygen -t rsa         rsa是生成非对称密钥的算法

                 

                 

                 

                 

                 密钥生成成功之后被放到了用户目录里,我们可以去文件查看也可以使用一个命令将其获取出来

                cat ~/.ssh/id_rsa.pub

                 

                从ssh-rsa复制这堆码,粘贴到gitee的SSH配置上 ,然后输入标题确定即可

                他会让你输入密码,直接输入就ok

                

                 下面用一个命令来查看SSH公钥是否配置成功

                ssh -T git@gitee.com

                 如果你是第一次配置,就会提示你yes/no

                需要输入yes就会看到下面的successfully就意味着成功了

                 

        5.3、操作远程仓库

                5.3.1、关联远程仓库

                命令格式git remote add 远程仓库名 远程仓库地址             本地仓库关联远程仓库  

                这一步就是把我们本地的仓库与远程仓库关联起来,需要先获取到远程仓库的地址

                

                从我的这里进入我们刚才创建的仓库

                

                将选项切换到SSH公钥,直接复制下面的命令到Git Bash粘贴(粘贴键是鼠标中键或鼠标右键选择)粘贴可能会在首尾携带其他符号,删除即可

                origin是远程仓库名,一般规范命令这里就是固定死的origin,不用乱改,一个本地仓库可以关联多个远程仓库

                ​ 


                5.3.2、查看远程仓库

                上面操作完就可以查看是否关联上了远程仓库

                使用命令git remote    查看当前本地仓库所关联的远程仓库 

                ​ 

                这样就成功关联上了远程仓库了 


                5.3.3、本地仓库推送到远程仓库***

                本地仓库关联好远程仓库之后就应该把我们的仓库推送上去了

                命令格式git push [-f] [--set-upstream] [远端仓库名称] [本地分支名][:远端分支名]

                命令示例: git push origin master:master 

                 作用是把本地仓库的某个分支,推送到远端仓库的某个分支

                [-f] 指的是本地的修改远端的修改有冲突强制推送覆盖掉远端的修改(当本地修改与远端修改有冲突时没加 -f 推送会失败) ,不过一般没什么用工作中一般是只允许添加不允许覆盖的,没有覆盖这个权限,防止小白不懂导致数据受损

                [--set-upstream] 指的是把分支推送到远端仓库,同时与远端仓库的分支建立关联

                 

                下面我将本地master分支推送到远端master分支上

                 

                当本地分支名与远端分支名相同时可以只写一个。示例:git push origin master

                 

                 此时进入远端仓库可以查看到我们的文件

                

                当本地分支已经与远端分支有关联时,直接git push即可,下面5.3.4演示


                5.3.4、本地分支与远程分支的关联与关系

                接着上面讲

                查看本地分支与远程分支是否有关联我们可以使用以下命令

                git branch -vv

                 一开始我们是没有关联的,所以查看会是这个结果

                

                进行关联有两种情况

                现远程有分支

                比如master上面已经推送,那么就使用以下命令

                git branch --set-upstream-to=远程仓库名/远程分支名 本地分支名

                我们输入命令git branch --set-upstream-to=origin/master master 

                 

                显示branch 'master' set up to track 'origin/master'.就表示关联成功 

                再使用查看命令查看一下有什么变化

                

                 现远程无分支

                就像我们的dev2分支还没推送上去,就是远端只有一个master分支

                那么我们在推送dev2分支的同时就可以关联它,上面5.3.3推送部分讲过在推送命令上加--set-upstream即可

                我输入命令git push --set-upstream origin dev2:dev2

                

                推送成功可以在远程仓库看到 

                

                关联后我们继续git branch -vv查看

                

                上面说到“当本地分支已经与远端分支有关联时,直接git push即可”

                我们试一下

                


                5.3.5、从远程仓库克隆clone到本地

                克隆就是把远端仓库复制一份到电脑上,复制过来就是一个本地仓库

                

                命令: git clone 仓库路径 文件名

                这个命令克隆到的位置是你的Git Bash窗口打开的路径下(比如我在桌面打开,就克隆到桌面,也可以使用cd 路径进行切换路径) 

                 现在我们把刚才推送到远端的仓库克隆一份过来

                仓库路径需要到码云上找到该仓库并选择SSH

                

                点击克隆/下载

                ​ 

                在桌面打开Git Bash输入指令git clone git@gitee.com:Open_Right/git_test01.git git_test01_clone01.git

                

                打开克隆过来的仓库与码云的远程仓库进行对比

                ​ 

                5.3.6、从远程仓库中抓取和拉取

                克隆一般只用于从0到1获取到项目的仓库,因为项目可能很大,平常的修改不可能就说每次都进行一次克隆,费时费力

                所以就有了抓取和拉取这两个操作

                以下的本地仓库与克隆仓库可以理解为两个不同程序员开发的仓库,一个本地仓库对远程仓库进行了更新,克隆仓库就可以通过抓取和拉去操作获取这次更新

                记住抓取不自动合并,拉取自动合并

                抓取操作就是将远程仓库里的更新都抓取到本地,不会进行合并

命令        git fetch 仓库名(origin) 分支名

                我们先将原本的本地仓库()对远程仓库做一次推送,推送一个新文件上去,就等于更新了远程仓库

​ 

再将更新的这个文件抓取到克隆仓库中

以图的形式查看提交记录

 可以看到远程仓库的版本更加新,当前克隆仓库与远程仓库版本不一样

此时需要手动把远程master分支合并到克隆仓库中(拉取操作就省了这一步)

 这样一来克隆仓库就与远程仓库同步更新了

                拉取操作就是将远程仓库里的修改拉到本地并自动进行合并,等同于fetch+merge

命令        git pull 仓库名(origin) 分支名

拉去pull其实就相当于把fetch和merge合并成一个指令了

我们再对远程仓库进行一次更新

然后让克隆仓库拉取

就相当于抓取与合并操作啦


                5.3.7、解决克隆仓库或本地仓库无法推送的问题

出现这个错误的原因是有人先你一步推送更新了远程仓库

你只需要先pull或者fetch+merge一下,确保目前仓库与远程的一样

再进行推送即可

但拉取也可能会出现下面问题

                5.3.8、解决远程抓取后合并冲突

它会提示你这样

这一步其实本质上就是分支合并冲突

和分支合并冲突的解决方法一模一样可以去看上一期教程保姆级Git教程4-Git分支

                         


   本教程一共5部分,这是第5部分

总目录:保姆级Git教程0-序章

 1、保姆级Git教程1-Git概述

2、保姆级Git教程2-Git安装与常用命令

3、保姆级Git教程3-Git本地仓库管理代码的基本操作流程

4、保姆级Git教程4-Git分支

5、保姆级Git教程5-Git远程仓库及其相关操作

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值