git安装与常用命令(其五)(持续更)--远程仓库

目录

 8. Git远程仓库

        8.1  配置SSH公钥

        8.2  将本地推送到远程

        8.3 从远程仓库克隆

        8.4 抓取与拉取

其四:git安装与常用命令(其四)


 8. Git远程仓库

        最常听说的远程仓库就是GitHub、码云、GitLab,在企业中一般用gitlab(需要自己部署)(因为github是把代码放在别人那里,对于企业来说,这并不安全)

        这里,使用码云(gitee)进行讲解

        搜索一下码云,进入官网,注册账号

        新建一个仓库

        建好后,如下

        8.1  配置SSH公钥

                配置SSH公钥乃使用远程仓库之前提,接下来,看看如何配置SSH。

                在本地文件中的Git Bash中输入

        ssh-keygen -t rsa                //然后,一路“回车”就可以了

                获取公钥

          cat ~/.ssh/id_rsa.pub        //在Git Bash中输入

                将该命令下输出的所有内容复制(选中即为复制)

                回到gitee上,找到设置,在设置中就有SSH公钥

                然后,把公钥粘贴进去,再命个名,就可以了

                最后,回到Git Bash中验证一下是否成功

        ssh -T git@gitee.com        //他会询问是否继续链接,输入yes即可

                这样,就成功了。

                注:在仓库界面的管理中,可以修改仓库的一些属性(比如,名字)

        8.2  将本地推送到远程

               以下的第一二步为建立本地与远程仓库的联系,第三步才是推送。

                Frist,复制远程地址,如下图

                Second,打开Git Bash,输入以下内容

        git remote add origin SSH的地址        //origin为你给远程仓库取的昵称(通常)

        git remote                                            //使用该代码查看当前有哪些远程仓库,如下图

                Third,开始推送

        git push origin master        //意为将master分支上的文件推送到origin远程仓库中

                如此这般,在去gitee中刷新,就可以看到上传的文件了

                拓:关于git push,

                其原式为git push [-f] [--set-upstream] [远端名称] [本地分支] :[远端分支]

                也就是说上面的代码实为git push origin master:master,只是,相同分支名可以省略,所以只写了一个master。(当远端有多种分支的时候,最好不要省略)

                -f 指强制覆盖,如果,上传的文件在远端仓库里已经存在,正常来说,会禁止上传,加上-f 即可使之强制覆盖,以上传的为准。(一般用不到,防止误操作)

               --set-upstream (可简写成-u)用于和远端分支建立关联关系,当当前分支与远端分支关联后,之后的推送指令就可以省略分支名和远端名,即直接用git push就可以。(运行如下)(⭐)

                其中,git branch -vv查看分支与远端分支的关联关系(如上图的蓝字部分),另外,第一行命令中的所有符号均为英文字符。(git branch本意就是查看分支)

        8.3 从远程仓库克隆

                指令:

git clone SSH地址 自定义名字        //如果不去定义名字,就会默认取SSH后几位为名字

                接下来,演示一下(演示不取名字的)

                在桌面打开Git Bash(不在克隆对象的源文件中打开),输入git clone SSH地址,即可看到一个文件在桌面上创建。

                其中,SSH的地址在下图中可找到

                可以看到的是生成的文件名称与我们的库名称一致,所以我们一般不会对克隆文件进行额外的命名。

                在该文件中打开git bash,并且在源文件中打开git bash,对比两个的git-log,发现只有略微的不同。

                一般而言,不会频繁地进行克隆,通常只执行一次。之后的同步由新的指令进行操作,接下来就看看这些新的指令。

        8.4 抓取与拉取

                抓取命令的基本形式:

git fetch [远程仓库名] [分支名]      //如果不指定远程仓库名和分支名,则抓取所有分支到当前

                拉取命令的基本形式:

git pull [远程仓库名] [分支名]      //如果不指定远程仓库名和分支名,则抓取所有分支到当前

                                                   //等同于fetch + merge

                先在本地的文件中用Git Bash建立一个新的文件作为示例,推送到远程仓库,再在拷贝的文件中打开Git Bash进行抓取。

//本地
touch starRail02.txt
git add .
git commit -m "add starRail02"
git-log
//在本地推送到远程仓库
git push
git-log
//在拷贝的文件中打开git bash
git-log

//抓取
git fetch
git-log

//将原来的和新抓取来的,进行合并
git merge origin/master
git-log

                抓取后的git-log大抵如下左图,合并后的git-log如下右图

                但是,这种抓取又是fetch,又是merge的,挺麻烦的,所以,出现了简化版——拉取。

                上代码,

//本地
touch starRail03.txt
git add .
git commit -m "add starRail03"
git push

//拷贝的文件中
git pull
git-log

                运行后的效果与上文的相同。

        8.5 解决合并冲突

                当两个人同时修改了同一个内容时,就会出现合并冲突。

                继续使用上文的两个例子(本地文件和克隆在桌面的文件)。

                首先,打开两个git bash

                随便修改一个文件

//克隆中

vi starRail01.txt

将内容修改成update = 2

git add .

git commit -m 'update starRail01-2'

//上传

git push

git-log

//本地中

重复以上操作,但内容改为update = 3

并且不上传,而是抓取

git fetch

git-log

                可以看到,本地中出现了分叉,在本地执行git pull,显而易见的可以看到拉取失败了...

未完待续

其四:git安装与常用命令(其四)

  • 25
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值