第五节:使用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 : 原创博客请在转载时保留原文链接或在文章开头加上本人博客地址,否则保留追究法律责任的权利。