git教程03——远程仓库

git教程01——windows系统下教科书式安装git
git教程02——详细的git基本操作命令
git教程04——2种方法将本地代码提交到github上
git教程05——克隆github上的代码到本地

这个有必要单独拿出来说说,毕竟工作项目开发都是远程仓库的,前面几个教程都是为这篇文章服务的。

因此你先需要注册github账号,因为git仓库和github之间的传输是通过SSH加密的,需要以下设置:

①创建SSH Key:

在用户主目录下(我这里是:C:\Users\Administrator):


截图.png

by update 2018/06/17

mac进入ssh文件夹下,可以用快捷键shift+cmd+g,进入ssh文件,形如:

/用户/自己的用户名/.ssh

如下所示:

image.png

接下来操作跟windows操作一致,如下。
然后打开ssh,看看这个目录下有没有id_rsaid_rsa.pub这两个文件:
截图.png

如果有的话,直接跳过此如下命令,如果没有的话(我这里第一次配置ssh,所以没有),打开命令行,输入如下命令:

$ ssh-keygen -t rsa -C "你的邮箱"

然后一路回车,就会出现如下图:


截图.png

然后我们再去看用户主目录:

截图.png

此时多了个id_rsaid_rsa.pub这两个文件

id_rsa:私钥 //不能泄露出去
iid_rsa.pubi:公钥

②登录github

打开settings,找到SSH Keys一项,然后点击“Add SSH Key”,填上任意title,在Key文本框里黏贴id_rsa.pub文件的内容。


截图.png
截图.png
截图.png

点“Add SSH Key”,你就应该看到已经添加的Key:


截图.png

为了验证是否成功,输入以下命令:

$ ssh -T git@github.com
截图.png

说明我们windows电脑已成功连上 Github。

这里有一个问题:为什么GitHub需要SSH Key呢?(这点理解很重要)
因为GitHub需要识别出你推送的提交确实是你推送的,而不是别人冒充的,而Git支持SSH协议,所以,GitHub只要知道了你的公钥,就可以确认只有你自己才能推送。
当然,GitHub允许你添加多个Key。假定你有若干电脑,你一会儿在公司提交,一会儿在家里提交,只要把每台电脑的Key都添加到GitHub,就可以在每台电脑上往GitHub推送了。

友情提示:在GitHub上免费托管的Git仓库,任何人都可以看到(但只有你自己才能改)。所以,不要把敏感信息放进去。
如果你不想让别人看到Git库,有两个办法,一个是交点保护费,让GitHub把公开的仓库变成私有的,这样别人就看不见了(不可读更不可写)。另一个办法是自己动手,搭一个Git服务器,因为是你自己的Git服务器,所以别人也是看不见的。这个方法我们后面会讲到的,相当简单,公司内部开发必备。

③添加远程库

现在的情景是,你已经在本地创建了一个Git仓库后,又想在GitHub创建一个Git仓库,并且让这两个仓库进行远程同步,这样,GitHub上的仓库既可以作为备份,又可以让其他人通过该仓库来协作,真是一举多得。

首先,登陆GitHub,然后,在右上角找到“Create a new repo”按钮,创建一个新的仓库:


截图.png

在Repository name填入testgit,其他保持默认设置,点击“Create repository”按钮,就成功地创建了一个新的Git仓库:
截图.png

目前,在h上的这个testgit仓库还是空的,github告诉我们,可以从这个仓库克隆出新的仓库,也可以把一个已有的本地仓库与之关联,然后,把本地仓库的内容推送到h仓库。

现在,我们根据h的提示,在本地的testgit仓库下运行命令:

$ git remote add origin 你的ssh地址 //我的是git@github.com:Jsonjia/testgit.git

如下:

截图.png

把本地库的内容推送到远程,用git push命令,实际上是把当前分支master推送到远程。由于远程库是空的,我们第一次推送master分支时,加上了-u参数,git不仅会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。推送成功后,可以立刻在GitHub页面中看到远程库的内容已经和本地一模一样:
截图.png

从现在起,只要本地test.txt文件作了修改,就可以通过命令:

$ git add test.txt //回车
$ git commit -m "加了内容"
$ git push origin master

这样就把本地master分支修改的内容提交到github上了,现在你就拥有了真正的分布式版本库!

这里有个小插曲,当我第一次使用git的clone或者push命令连接github的时候,得到一个警告:

The authenticity of host 'github.com (xx.xx.xx.xx)' can't be established.
RSA key fingerprint is xx.xx.xx.xx.xx.
Are you sure you want to continue connecting (yes/no)?

这是因为git使用SSH连接,而SSH连接在第一次验证github服务器的Key时,需要你确认github的key的指纹信息是否真的来自github的服务器,输入yes回车即可。

git会输出一个警告,告诉你已经把github的key添加到本机的一个信任列表里了:

Warning: Permanently added 'github.com' (RSA) to the list of known hosts.

这个警告只会出现一次,后面的操作就不会有任何警告了。

小结

要关联一个远程库,使用命令

git remote add origin ssh的地址
或者
git remote add origin https的地址

关联后,如果第一次提交,使用命令

git push -u origin master

推送master分支的所有内容;

此后,每次本地提交后,只要有必要,就可以使用命令

git push origin master

把最新代码提交上去。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,847评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,208评论 1 292
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,587评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,942评论 0 205
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,332评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,587评论 1 218
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,853评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,568评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,273评论 1 242
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,542评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,033评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,373评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,031评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,073评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,830评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,628评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,537评论 2 269

推荐阅读更多精彩内容

  • 1. 安装 Github 查看是否安装git: $ git config --global user.name "...
    Albert_Sun阅读 13,412评论 9 163
  • Git常用语法 [TOC] Git简介 描述 ​ Git(读音为/gɪt/。)是一个开源的分布式版本控制系统,...
    君惜丶阅读 3,444评论 0 13
  • 1.git的安装 1.1 在Windows上安装Git msysgit是Windows版的Git,从https:/...
    落魂灬阅读 12,584评论 4 54
  • 283班 赵梓彤 说起婴儿,我第一个想到的就是小姨家的那个小不点。她只有8个月大,而且...
    欣然回忆阅读 215评论 0 0
  • 分院:教科院 班级:17预文4 姓名:朱以丹 失败不可怕,可怕的是放弃去坚持,只要坚持不懈的努力,克服千难万险,总...
    咩咩_咩咩阅读 809评论 0 0