【Git入门之七】Git和Github

【Git入门之七】Git和Github - JackyStudio - 博客频道 - CSDN.NET

上一篇介绍了如何在本机创建一个远程仓库,但是如果硬盘挂了,那重新码起吧。。。



1.github是神马?

一家公司,一个网站。主要负责基于git的版本托管服务。看看这篇文章(http://www.yangzhiping.com/tech/github.html),你就会知道github是神马。目前github上的项目都是开放的,如果想要设置私有,那交钱吧。





2.注册帐号

在开始本篇学习之前,请先注册一个github帐号,了解一下github界面的相关操作。



3.设置SSH

SSH用于加密传输数据,这里用到了基于密钥的安全验证,这种方式需要依靠密匙,也就是你必须为自己创建一对密匙,并把公用密匙放在需要访问的服务器上。如果你要连接到SSH服务器上,客户端软件就会向服务器发出请求,请求用你的密匙进行安全验证。服务器收到请求之后,先在该服务器上你的主目录下寻找你的公用密匙,然后把它和你发送过来的公用密匙进行比较。如果两个密匙一致,服务器就用公用密匙加密“质询”(challenge)并把它发送给客户端软件。客户端软件收到“质询”之后就可以用你的私人密匙解密再把它发送给服务器。

使用用这种方式,你必须知道自己密匙的口令。它不需要在网络上传送口令。不仅加密所有传送的数据,而且“中间人”这种攻击方式也是不可能的(因为他没有你的私人密匙)。但是整个登录的过程可能需要10秒。



3.1.创建SSH密钥

 

[cpp] view
plain
copy
 
  1. #创建SSH  
  2. $Snbsp;ssh-keygen -t rsa -C "YourEmail@example.com"  

确认目录和密码短语,可以直接使用默认,回车就行。

 

3.2.添加公有密钥到github

在刚才确认的目录下看以看到生成了.ssh目录,里面有两个文件id_rsa(私有密钥)和id_rsa.pub(公有密钥)。登录github→Account Settings→SSH keys,添加一个SSH key,标题任意,把id_rsa.pub的内容拷入即可。



3.3.确认设置

 

 
  1. #确认设置是否正确  
  2. $Snbsp;ssh -T git@github.com  
  3.   
  4. #在提示仍然连接敲入yes  
  5. ...  
  6. Hi Jacky! You've successfully authenticated...  

有上面的提示就OK了,如果设置了密码短语,需要输入密码短语。

4.添加github仓库



4.1.在github上新建仓库

在github上create new repository,输入名字,其余默认即可。



4.2.两种方式添加github仓库

(1)使用git协议(以下要注意替换成你自己的地址)

 

 
  1. $Snbsp;git remote add git_github git@github.com:fusijie/JackyGit.git  

(2)使用http协议

使用http协议要输入github的账号密码。

 

 
  1. $Snbsp;git remote add http_github https://github.com/fusijie/JackyGit.git  

5.本地库推送到github

 

 
  1. $Snbsp;git push -u git_github master  

这时候查看一下你的github主页,本地库文件是不是已经被推送上去了。

 

6.从github克隆到本地

 

[cpp] view
plain
copy
 
  1. #返回上级目录  
  2. $Snbsp;cd ..  
  3.   
  4. #新建jackygit3目录  
  5. $Snbsp;mkdir jackygit3  
  6.   
  7. #进入jackygit3目录  
  8. $Snbsp;cd jackygit3  
  9.   
  10. # 从github克隆到本地库  
  11. $Snbsp;git clone git@github.com:fusijie/JackyGit.git  
  12. Cloning into 'JackyGit'...  
  13. remote: Counting objects: 38, done.  
  14. remote: Compressing objects: 100% (15/15), done.  
  15. remote: Total 38 (delta 9), reused 38 (delta 9)  
  16. Receiving objects: 100% (38/38), done.  
  17. Resolving deltas: 100% (9/9), done.  
  18. Checking connectivity... done  
原文地址:https://www.cnblogs.com/seven1979/p/4257305.html