远程仓库 添加远程库 在github上创建仓库 ssh协议  同步到远程仓库 将远程仓库上的文件拉取到本地仓库

远程仓库
添加远程库
在github上创建仓库
ssh协议 
同步到远程仓库
将远程仓库上的文件拉取到本地仓库

  现在我们已经在本地创建了一个Git仓库,又想让其他人来协作开发,此时就可以把本地仓库同步到远程仓库,同时还增加了本地仓库的一个备份。

  常用的远程仓库就是github:https://github.com/,接下来我们演示如何将本地代码同步到github。

在github上创建仓库

    远程仓库
添加远程库
在github上创建仓库
ssh协议 
同步到远程仓库
将远程仓库上的文件拉取到本地仓库

  Github支持两种同步方式“https”和“ssh”。如果使用https很简单基本不需要配置就可以使用,但是每次提交代码和下载代码时都需要输入用户名和密码。如果使用ssh方式就需要客户端先生成一个密钥对,即一个公钥一个私钥。然后还需要把公钥放到githib的服务器上。这两种方式在实际开发中都用应用,所以我们都需要掌握。接下来我们先看ssh方式。

ssh协议 

  什么是ssh?

    SSH 为 Secure Shell(安全外壳协议)的缩写,由 IETF 的网络小组(Network Working Group)所制定。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。

  基于密钥的安全验证

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

  ssh密钥生成

    在windows下我们可以使用 Git Bash.exe来生成密钥,可以通过开始菜单或者右键菜单打开Git Bash

      远程仓库
添加远程库
在github上创建仓库
ssh协议 
同步到远程仓库
将远程仓库上的文件拉取到本地仓库

    执行命令完成后,在window本地用户.ssh目录C:Users用户名.ssh下面生成如下名称的公钥和私钥:

      远程仓库
添加远程库
在github上创建仓库
ssh协议 
同步到远程仓库
将远程仓库上的文件拉取到本地仓库

  ssh密钥配置

    密钥生成后需要在github上配置密钥本地才可以顺利访问。

      远程仓库
添加远程库
在github上创建仓库
ssh协议 
同步到远程仓库
将远程仓库上的文件拉取到本地仓库

      远程仓库
添加远程库
在github上创建仓库
ssh协议 
同步到远程仓库
将远程仓库上的文件拉取到本地仓库

       在key部分将id_rsa.pub文件内容添加进去,然后点击“Add SSH key”按钮完成配置。

同步到远程仓库

  同步到远程仓库可以使用git bash也可以使用tortoiseGit

  使用git bash

    git remote add origin git@github.com:sublun/mytest.git

    git push -u origin master

      远程仓库
添加远程库
在github上创建仓库
ssh协议 
同步到远程仓库
将远程仓库上的文件拉取到本地仓库

  使用TortoiseGit同步   

    由于TortoiseGit使用的ssh工具是“PuTTY”git Bash使用的ssh工具是“openSSH”,如果想让TortoiseGit也使用刚才生成的密钥可以做如下配置:

      远程仓库
添加远程库
在github上创建仓库
ssh协议 
同步到远程仓库
将远程仓库上的文件拉取到本地仓库

      远程仓库
添加远程库
在github上创建仓库
ssh协议 
同步到远程仓库
将远程仓库上的文件拉取到本地仓库     

        Url:远程仓库的地址

        推送URL:也是相同的

        Putty密钥:选择刚才生成的密钥中的私钥

      远程仓库
添加远程库
在github上创建仓库
ssh协议 
同步到远程仓库
将远程仓库上的文件拉取到本地仓库

      远程仓库
添加远程库
在github上创建仓库
ssh协议 
同步到远程仓库
将远程仓库上的文件拉取到本地仓库    

      远程仓库
添加远程库
在github上创建仓库
ssh协议 
同步到远程仓库
将远程仓库上的文件拉取到本地仓库

      远程仓库
添加远程库
在github上创建仓库
ssh协议 
同步到远程仓库
将远程仓库上的文件拉取到本地仓库

        推送成功后,此时您的github远程仓库中也有相应的文件

      远程仓库
添加远程库
在github上创建仓库
ssh协议 
同步到远程仓库
将远程仓库上的文件拉取到本地仓库

将远程仓库上的文件拉取到本地仓库

    远程仓库
添加远程库
在github上创建仓库
ssh协议 
同步到远程仓库
将远程仓库上的文件拉取到本地仓库

       然后右键点击同步  单击‘拉取’按钮

      远程仓库
添加远程库
在github上创建仓库
ssh协议 
同步到远程仓库
将远程仓库上的文件拉取到本地仓库

      远程仓库
添加远程库
在github上创建仓库
ssh协议 
同步到远程仓库
将远程仓库上的文件拉取到本地仓库

      远程仓库
添加远程库
在github上创建仓库
ssh协议 
同步到远程仓库
将远程仓库上的文件拉取到本地仓库