一、将Java工程提交到本地仓库并推送到远程仓库:

### --- 拷贝Java项目文件夹到.git的工作目录下:

~~~ 在HelloProjet文件夹右键——>TortoiseGit——>添加
~~~ ——>确定(文件上会有一个+号出现)Java项目已添加到暂存区——>END
~~~     # 忽略部分不需要添加到本地版本库的文件:

~~~ 选中需要忽略的文件——>TortoiseGit——>删除并添加到忽略列表——>根据名称删除和忽略
~~~ ——>选择:递归忽略文件和目录:.gitgnore放在文件/文件夹所在的目录(图二)
~~~ ——>确定——>会产一个.gitignore(是忽略的文件名)文件——>END

|NO.Z.00005|——————————|DevelopMent|——|Git&工程同步远程仓库.V01|——|推送工程|_推送


|NO.Z.00005|——————————|DevelopMent|——|Git&工程同步远程仓库.V01|——|推送工程|_github_02

~~~     # gitignore也需要添加到本地版本库中:

~~~ gitignore右键——>TortoiseGit——>添加——>确定——>END
~~~ 右键——>TortoiseGit(T)——>版本库浏览器
~~~ ——>可以查看到我们添加到本地版本库的HelloProjet项目文件

|NO.Z.00005|——————————|DevelopMent|——|Git&工程同步远程仓库.V01|——|推送工程|_github_03


二、创建本地仓库,远程仓库,并把本地仓库源代码推送到远程仓库进行代码交换:

### --- 在本地版本库的工作目录下创建本地仓库:E:\GitHub Repository\Repository\repo1

~~~ 在github上面创建仓库:repo1

|NO.Z.00005|——————————|DevelopMent|——|Git&工程同步远程仓库.V01|——|推送工程|_推送_04


三、Github支持https和ssh传输方式:

### --- Github支持https和ssh传输方式:

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

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

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

四、SSH秘钥配置

### --- SSH秘钥生成:

~~~ 在windows下我们可以使用 Git Bash.exe来生成密钥,
~~~ 可以通过开始菜单或者右键菜单打开Git Bash
~~~ 在本地版本库工作目录下:右键——>Git Bash Here——>$ ssh-keygen -t rsa(图一)
~~~ ——>在C:\Users\Administrator\.ssh目录下生成私钥、公钥文件(id_rsa(不可泄露)、
~~~ id_rsa.pub(告知GitHub服务器))(图二)——>END

|NO.Z.00005|——————————|DevelopMent|——|Git&工程同步远程仓库.V01|——|推送工程|_git_05

|NO.Z.00005|——————————|DevelopMent|——|Git&工程同步远程仓库.V01|——|推送工程|_github_06

### --- ssh秘钥配置:

~~~ 复制id_rsa.pub里面的内容——>GitHub上点击头像——>settings——>SSH and GPG keys
~~~ ——>SSH keys——>New SSH key——>将拷贝的秘钥添加到GitHub上(图二)——>END

id_rsa.pub公钥文件内容

|NO.Z.00005|——————————|DevelopMent|——|Git&工程同步远程仓库.V01|——|推送工程|_git_07

|NO.Z.00005|——————————|DevelopMent|——|Git&工程同步远程仓库.V01|——|推送工程|_git_08

五、将本地版本库中的源代码推送到远程仓库:

### --- 使用ssh的方法推送

### --- 方法一:在GitHub上创建远程你仓库repo1
~~~ 在git的工作目录下——右键——Git Bash Here——>推送项目源码到GitHub远程仓库(图一)
~~~ ——>查看GitHub远程仓库文件推送是否成功——>END

|NO.Z.00005|——————————|DevelopMent|——|Git&工程同步远程仓库.V01|——|推送工程|_推送_09

### --- 方法二:在GitHub上创建仓库repo2:

~~~ 在git工作目录下——>右键:Git同步——>远端URL:管理(图一)
~~~ 网络——>确认网络是否是ssh——>浏览:Git安装目录
~~~ ——>D:\GitHub\Git\usr\bin\ssh.exe——>END
### --- 添加私钥:

~~~ C:\Users\Administrator\.ssh\id_rsa.pub
~~~ 添加远端(与远程仓库建立关联关系)——>远端:origin
~~~ ——>URL:GitHub远程仓库地址(ssh)
~~~ ——>Putty秘钥(确认网络是否为ssh.exe)选择我们私钥的地址——>添加——确定
~~~ ——>推送(图一)——>在GitHub上查看源码推送是否成功(图二)——>END

|NO.Z.00005|——————————|DevelopMent|——|Git&工程同步远程仓库.V01|——|推送工程|_git_10


|NO.Z.00005|——————————|DevelopMent|——|Git&工程同步远程仓库.V01|——|推送工程|_git_11

六、https的方式推送:

### --- 在GitHub上创建远程仓库repo3:

~~~ 在git工作目录下:右键:Git同步——>远端URL:管理
~~~ ——>添加远端(与远程仓库建立关联关系)——>远端:origin1
~~~ ——>URL:GitHub远程仓库地址(https)putty秘钥不需要,我们需要用户名和密码
~~~ ——>添加——确定——>推送:GitHub用户名和密码(图一)
~~~ ——>在GitHub上查看源码推送是否成功——>END

|NO.Z.00005|——————————|DevelopMent|——|Git&工程同步远程仓库.V01|——|推送工程|_github_12












Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart

                                                                                                                                                   ——W.S.Landor