第五节:使用TortoiseGit管理Git操作 、IDEA集成Git、使用SSH协议传数据

一. TortoiseGit的使用

1. TortoiseGit的下载和安装

 TortoiseGit是一款开源的Git图形界面工具,使用TortoiseGit可以简化Git相关的操作(本质上还是执行的Git相关命令)。

(1). TortoiseGit下载地址: https://tortoisegit.org/download/

(2). 安装

    直接全程下一步安装即可。

(3). 安装完后右键如下图

2. 各种操作

(1). 创建仓库(本地仓库)

   在repo6文件进行如下操作:

(2). 克隆远程仓库

    在repo7下进行如下操作:复制地址到URL中,直接按照原仓库名mytest1克隆下来了。

(3). 将文件添加到暂存区

  比如在mytest1目录下新建003.txt,然后下图操作,添加到暂存区。

(4). 提交文件到本地仓库

  比如将003.txt提交到本地仓库,如下图操作,点击Commit按钮,进行提交到本地仓库。

 

 特别注意:这里可以省略Add添加到暂存区的那一步,直接进行提交到本地仓库。

 另外:可以点击【Commit & Push】按钮,提交到本地仓库的同时,推送到远程仓库(注意这里是将整个本地仓库都提交到远程,而不是单单选中的文件!!!)。

(5). 推送本地仓库至远程仓库

     比如在myTest下新建009.txt,然后把他提交到本地仓库,然后推送到远程仓库,推送远程仓库的步骤如下:(注:这里是将本地仓库所有内容都推送到本地服务器上)

(6). 拉取代码(Pull)

  比如我在码云上修改了001.txt的内容,然后删除了002.txt,现在我要同步到本地仓库并且同步到工作区间,如下图操作:

 

PS:这里也可以先Fetch拉取到本地仓库,然后再Merge同步到工作区间。

比如我在码云上修改002.txt内容,然后Fetch到本地仓库,此时工作区间的002是没有修改的,然后再Merge进行合并,工作区间里的002就同步修改了

(7). 切换分支

  比如从master分支切换到b1分支,如下图:

(8). 创建分支

 比如我基于b1分支,创建一个b2分支,首先要先切换到b1分支,如上面的步骤7,然后创建一个b2分支,如下图:(最后创建完后,需要手动切换一下,默认还是在b1分支下)

(9). 合并分支

比如我修改b2分支下的002.txt 并且 新增一个101.txt文件,然后我想把b2分支合并到master分支里。 

A.  修改002.txt内容,创建一个101.txt文件,同步到本地仓库中master分支里。

B. 然后再本地切换到master分支,进行b2分支的合并。

C. 这个时候发现101.txt直接合并进来了,但是001.txt有冲突。 这时候要编辑冲突,选择合适的版本进行合并。

D. 直接选择【Commit & Push】按钮,将master分支里的内容推送到本地仓库,并且同步到远程仓库。

补充

1. 在指定文件里直接拉取内容,比如Test1里

   步骤:新建Test1文件夹→右键Git Create repository here →右键Pull,输入地址,拉取即可→这种方式后续的push需要配置一下地址

下面是push的页面配置

2. 本地删除内容恢复

情况1:本地仓库里还有

 右键Revert恢复即可

情况2:本地仓库里也没了,服务器上也没了,现在需要先在本地仓库恢复,然后推送到服务器上

  右键Show log → 选择删除前一条提交记录 → Reset “master” to this →选择Hard:reset。。。 → 本地仓库和工作区间就都恢复了→push推送到远程服务器(需要选中强制推送

 

 

 

 

 

二. IDEA集成Git

1. IDEA中配置Git

 打开IDEA→Settings→Version Control → Git,如果Git安装在默认目录,会自动映射一下,否则需要自己配置一下

2. 常用操作

(1). 给本地项目创建Git仓库

(2). 文件添加到暂存区

(3). 文件提交到本地仓库

 

 

(4). 将代码推送到远程仓库

PS:如何将之前保存的多个Push远程地址删除呢?

(5). 从远程仓库克隆项目到本地

(6). 从远程拉取Pull代码

(7). 版本对比

(8). 创建分支

(9). 切换分支

(10). 合并分支 

 

 

 

三. 使用SSH协议传输

1.Git传输协议

 由于Git的远程仓库并不在我们本地,当我们在使用远程仓库的时候(例如克隆、拉取、推送)就会涉及到数据的网络传输,Git支持多种数据传输协议

  (1). 本地协议(Local)

  (2). HTTPS 协议

  (3). SSH(Secure Shell)协议

  (4). Git 协议

 我们前面的操作都是基于HTTPS协议进行的,基于账号密码来做认证。

 

2. 什么是SSH协议

  SSH 为 Secure Shell(安全外壳协议)的缩写,由 IETF 的网络小组(Network Working Group)所制定。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。由于本地Git仓库和远程仓库之间的传输是通过SSH加密的,所以必须要让远程仓库服务器认证你的SSH key,在此之前,必须要生成SSH key。

  使用ssh协议通信时,推荐使用基于密钥的验证方式。你必须为自己创建一对密匙(公钥和私钥),并把公匙放在需要访问的服务器上

 

 如果不配置公钥和私钥,直接用SSH的地址进行Clone,会报错,如下图:

3. 配置SSH协议

(1). 在任何目录下右键选择 Git Bash进入命令行,使用命令 【ssh-keygen -t rsa】生成公钥和私钥,执行完成后在window本地用户.ssh目录  C:\Users\用户名\.ssh  下面生成如下名称的公钥和私钥

PS:完整指令写法,支持不同的算法:

    生成公钥和私钥的两种算法指令:【ssh-keygen -t ed25519 -C “xxxx"】或  【ssh-keygen -t rsa -b 2048 -C “xxxx"】,其中xxxx一般写email地址

 

PS:命令行中一路敲回车,不需要输入内容

 

 (2). 复制公钥里面的内容到码云

 

 

 (3). 复制SSH地址,重新进行Clone,clone成功。

 

 

PS:如果要用TortoiseGit进行SSH传输,上述步骤不行,自行百度吧,这里不再补充了。

 

 

 

 

 

 

 

 

 

!

  • 作       者 : Yaopengfei(姚鹏飞)
  • 博客地址 : http://www.cnblogs.com/yaopengfei/
  • 声     明1 : 如有错误,欢迎讨论,请勿谩骂^_^。
  • 声     明2 : 原创博客请在转载时保留原文链接或在文章开头加上本人博客地址,否则保留追究法律责任的权利。
 
posted @ 2021-06-28 16:46  Yaopengfei  阅读(737)  评论(4编辑  收藏  举报