博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
(四)Git--远程仓库
阅读量:4186 次
发布时间:2019-05-26

本文共 1993 字,大约阅读时间需要 6 分钟。

Git是分布式的版本控制系统,也就意味着同一个Git仓库可以分布到不同的机器上,那么怎么分布呢,开始肯定只有一台机器有一个原始的版本库,Git提供“克隆”这个操作,别的机器都可以来克隆这个初始的版本库,每台机器上的版本库并无差别,也无主次之分。

实际操作中,我们往往找一台电脑充当服务器,处于24小时开机状态,其他每个人都从这个服务器仓库克隆一份到自己的电脑上,并且之后各自修改也都提交到服务器仓库里,也从服务器仓库中拉取别人的提交.

接下来,介绍如何使用GitHub这个神奇的网站,这是一个提供Git仓库托管服务的网站.

  1. 注册账号;
  2. 由于你的本地仓库和GitHub仓库之间的传输是通过SSH加密的,所以需要如下设置:
    2.1 创建SSH Key.在用户主目录下,进入.ssh目录,查看有没有id_rsa(私钥)和id_rsa_pub(公钥)两个文件,这两个就是SSH Key的密钥对,其中私钥千万不能泄露出去;如果没有,打开Shell,创建SSH Key:
    ssh-keygen -t rsa -C "youremail@example.com"
    2.2 登陆Github,打开"Account settings",点击"SSH and GPC keys"页面,然后点"Add SSH Key",Title可以任意填写,在Key文本框中粘贴id_rsa.pub文件的内容:

    2438927-a26ffc32f542442f.png

    点击"Add Key",接下来就应该可以看到已经添加的Key:

 

2438927-469d26f7c60b97d2.png

为什么GitHub需要SSH Key呢?因为GitHub需要识别出你推送的提交确实是你推送的,而不是别人冒充的,而Git支持SSH协议,所以,GitHub只要知道了你的公钥,就可以确认只有你自己才能推送。
不了解SSH原理的可以;

 

当然,GitHub允许你添加多个Key。假定你有若干电脑,你一会儿在公司提交,一会儿在家里提交,只要把每台电脑的Key都添加到GitHub,就可以在每台电脑上往GitHub推送了。

友情提示,在GitHub上免费托管的Git仓库,任何人都可以看到喔(但只有你自己才能改)。所以,不要把敏感信息放进去。

添加远程仓库

在本地仓库Java下运行命令:

git remote add origin git@github.com:alanluochong/Java
添加后,远程库的名字就叫origin,这时Git默认的叫法,也可以改成别的,但是origin这个名字一看就知道是远程库.
接下来我们就可以把本地库的内容推送到远程库上:

$ git push -u origin masterCounting objects: 149, done.Delta compression using up to 4 threads.Compressing objects: 100% (131/131), done.Writing objects: 100% (149/149), 93.83 KiB | 0 bytes/s, done.Total 149 (delta 74), reused 0 (delta 0)remote: Resolving deltas: 100% (74/74), done.To https://github.com/Alanluochong/spring-boot-mongo.git * [new branch]      master -> masterBranch master set up to track remote branch master from origin.

把本地内容推送到远程,用git push命令,实际上是把当前分支master推送远程.

由于远程仓库为空,我们第一次推送到master分支时,加上-u参数,Git不但会把本地的master分支内容推送到远程新的master分支,还会把本地master分支和远程master分支关联起来,在以后的推送或者拉取时就可以简化命令.

添加了远程仓库后,只要本地作了提交,就可以通过命令:

$ git push origin master
把本地master分支的最新修改推送至GitHub,这时候,你就拥有了真正的分布式版本库!

从远程库克隆

我们可以使用git clone克隆一个本地库:

$ git clone git@github.com:Alanluochong/spring-boot-mongo.git
当然我们也可以使用:
$ git clone https://github.com/Alanluochong/spring-boot-mongo.git这样的地址.实际上,Git支持多种协议,默认的git://使用ssh,但也可以使用https等其他协议.但通过ssh支持的原生git协议速度最快.

转载地址:http://dyioi.baihongyu.com/

你可能感兴趣的文章
(二)Git--工作区和暂存区、管理修改与撤销
查看>>
(七)Git--自定义Git
查看>>
(五)Git--分支管理
查看>>
(四)Git--远程仓库
查看>>
(六) Git--标签管理
查看>>
java中继承,子类是否继承父类的构造函数
查看>>
什么是Spring Cloud ?
查看>>
Qt下D-Bus的具体运用(软键盘输入法的实现)
查看>>
嵌入式环境的搭建(用于Arm开发板)
查看>>
Qt中文件读取的几种方式
查看>>
pyqt实现界面化编程
查看>>
qt写DLL文件并调用和出现的问题分析
查看>>
工厂模式(Factory)-设计模式(一)
查看>>
建造者模式(Builder)-设计模式(三)
查看>>
Qt 怎么给QWidget添加滚动条
查看>>
双十一冲刺业绩,完不成杀运营祭天?程序员:你们也有今天
查看>>
搜狗输入法到底算不算恶意挟持百度搜索流量?五个测试告诉你答案
查看>>
百度成为美国领先的人工智能联盟的第一个中国成员
查看>>
程序员资讯:QR代码在公共交通中得到越来越多的采用
查看>>
当了将近十年的程序员,为什么从来没见过程序员带孩子
查看>>