git学习教程二之远程仓库学习

首先你需要注册一个github用户名,我的github账户是:1654218052@qq.com

由于本地的git仓库和github的仓库是通过SSH加密的,所以我们还需要设置一点东西哦

第1步:创建SSH Key。在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsaid_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Git Bash,创建SSH Key:

$ ssh-keygen -t rsa -C "email@example.com"                   # 此处填写自己的邮箱

然后一路回车,使用默认值即可。之后可以在用户主目录里找到.ssh目录,里面有id_rsaid_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。

第2步:登陆GitHub,打开 settings---->SSH&GPG keys页面,点击右上角“Add SSH Key”,打开Add SSH Key页面填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容。之后点击Add SSH Key提交即可。

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

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

 

 

一. git添加远程仓库

1:github登陆之后在右上角点击加号,添加一个仓库

 

2:添加的仓库题目名字(我的是learngit)一定要写,描述无所谓可以后续再添加。点击create reponsitory

3:添加成功之后,我们就拥有了自己的github新仓库

 

 

二. 关联和移除远程库

创建成功之后,我们会看到仓库的地址,如下:git@github.com:1654218052/learngit.git,然后我需要将我们之前的本地仓库和这个远程仓库进行关联,使用git remote add命令,如下:

$ git remote add origin git@github.com:1654218052/learngit.git

 

如果你配置错了,也不要紧张,执行以下命令可以移除配置的远程仓库

$ git remote rm origin

添加后远程库的名字就是origin,这个是git默认叫法,当然也可以改成别的啦

 

 

三.  推送本地仓库内容至远程库

首次执行的时候把本地库的所有内容推送到远程库上:

$ git push -u origin master           # 首次执行推送至远程仓库

由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。,就不在需要-u参数了,只需要执行以下命令即可。

$ git push origin master              # 非首次执行推送至远程仓库

如果想推送到其他分支,比如我也想把我的lalal分支推送到远程仓库中,执行如下命令:

$ git checkout lalal                    # 指向分支lalal
$ git push -u origin lalal              # 推送至远程仓库的lalal分支下

先切换到fa分支,然后执行git push命令,参数含义和之前的一样,这里我们创建的远程仓库的分支名也为fa(当然我们可以取任何名字,但是为了不混淆,最好取一致的名字)。这两条命令执行成功之后,此时在github中我们就可以看到已经有多个分支了

 

四. 克隆远程仓库至本地

首先登录github,我们在github中新建一个仓库gitskills.

之后,我们边学习将仓库clone到本地来

$ git clone git@github.com:1654218052/gitskills.git
Cloning into 'gitskills'...
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 0), reused 3 (delta 0), pack-reused 0
Receiving objects: 100% (3/3), done.

 

注意把Git库的地址换成你自己的,这时候我们便可以进入gitskills,显然这是一个空的仓库故不会输出任何结果

$ cd gitskills
$ ls

 

posted on 2019-10-11 12:02  小菜鸟920  阅读(210)  评论(0编辑  收藏  举报