Git在Eclipse中的使用教程 ---EGIT - Eclipse下的GIT插件

转载地址:

https://blog.csdn.net/qq_39188039/article/details/86528991


高版本的Eclipse自带有该插件

EGit-基本配置

配置GIT默认仓库

在这里插入图片描述

配置GIT用户信息

在这里插入图片描述

 

在这里插入图片描述

 

打开EGit相关视图

在这里插入图片描述

在这里插入图片描述

EGIT - 本地版本控制


  1. 将项目转换为仓库

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2,EGit图标
      已跟踪[ tracked ]

      在这里插入图片描述

      未跟踪[ untracked ]

      在这里插入图片描述

      仓库未跟踪,通常是新建的文件,要接入版本管理可以通过“Add to Index”或直接
“Commit”操作。

      忽略[ ignored ]

     在这里插入图片描述

      仓库认为该文件不存在(如bin目录,不需要关注)。通过右键Team => Ignore 添加忽
略文件

      已修改[ dirty ]

     在这里插入图片描述

      修改“已跟踪[ tracked ]”的文件,未添加到暂存区Index(未“Add to Index”或
“Commit”)的文件,标志与本地库不一致。
      已暂存[ staged ]

     在这里插入图片描述

      修改“已跟踪[ tracked ]”的文件,并添加到暂存区Index(即执行“Add to
Index”);
      已部分暂存[ partially-staged ]

     在这里插入图片描述

 

      修改“已跟踪[ tracked ]”的文件,部分修改已添加暂存区Index,部分未添加。相当
于:已跟踪的文件修改,Add to Index ,Commit前又修改了文件。

      已添加[ added ]

     在这里插入图片描述

      untracked 状态的文件,通过“Add to Index”被仓库已知,但是没有“Commit”,
      “Commit”后可变为“已跟踪[ tracked ]”状态。
      已删除[ removed ]

      从工作区中删除文件,文件会消失,也就没有图标出现,下一次提交时被删除。Team
=> Untrack可以触发本图标,在“Commit”对话框中可以看到图标。
     冲突[ conflict ]

     在这里插入图片描述

     进行Merge合并操作会引起冲突,需要人工解决并添加到索引区修改状态。

     假设有效[ assume-valid ]

     在这里插入图片描述

     一些修改未被Git检查。右键Team => Assume unchanged可产生该状态。

3,增加到缓存区
     Team->Add To Index

        在这里插入图片描述
4,提交到分支区
Team->Commit

在这里插入图片描述

 在这里插入图片描述

在这里插入图片描述

5,一步提交版本(增加到暂存区+提交到分支区)
     Team->Commit
     在进行提交操作时,EGIT允许直接勾选 [未跟踪] 状态的文件,此时,EGit会自动将该类型文
件Add To Index 后再 Commit

6,查看版本信息
     Team->Show In History

在这里插入图片描述

7,增加文件到本地仓库
     Team->Add To Index
     Team->Commit
     Team->Commit
     创建文件

在这里插入图片描述

在这里插入图片描述

增加到暂存区 [Team->Add To Index]

在这里插入图片描述

提交到分支区 [Team->Commit]

在这里插入图片描述

8,提交修改到本地仓库
     Team->Add To Index
     Team->Commit
     Team->Commit
     修改文件

在这里插入图片描述

增加到暂存区 [Team->Add To Index]

在这里插入图片描述

提交到分支区 [Team->Commit]

在这里插入图片描述

9,删除文件从本地仓库
     删除文件
     Team->Commit
     直接删除文件

在这里插入图片描述

     提交到分支区 [Team->Commit]

在这里插入图片描述

10,从暂存区中撤销
     Team->Remove From Index
     修改工作区

在这里插入图片描述

     增加到暂存区 [Team->Add To Index]
在这里插入图片描述
     从暂存区中撤销 [Team->Remove From Index]
在这里插入图片描述

11,基于分支树回滚版本
     [History窗口中]Reset->Soft、Mixed、Hard
     History窗口中选择目标版本并回滚 [Reset->Soft、Mixed、Hard]

12,基于操作历史回滚版本
     [GitRef窗口中]Reset->Soft、Mixed、Hard
     GitRef窗口中选择某个历史指令并回滚到该指令执行过后的状态 [Reset->Soft、Mixed、Hard]

在这里插入图片描述
13,文件版本比较
     两个历史版本之间的比较
     [History窗口中,选择两个版本]->Compare With Each Other
     History窗口中,选择两个版本,并通过[Compare With Each Other]进行比较

 

在这里插入图片描述

指定历史版本和当前工作区中文件的比较 b.
[History窗口中,选择某一个版本,选择其中一个文件]->Compare With WorkSpace
History窗口中,选择某一个版本,选择其中一个文件,并通过[Compare With WorkSpace]
将该文件的指定版本和当前工作区中的状态做比较
在这里插入图片描述

比较窗口中提供了按钮,可以实现快速代码移植

在这里插入图片描述

14,忽略文件
     Team->Ignore
     可以通过[Team->Ignore]命令Git忽略指定文件,此命令本质上会将该文件位置信息写入.gitignore文件中,git会根据此文件中指定的规则忽略相应文件

在这里插入图片描述

因此也可以直接修改.gitignore指定忽略文件规则

在这里插入图片描述

.gitignore文件格式:
1)空格不匹配任意文件,可作为分隔符,可用反斜杠转义
2)以“#”开头的行都会被 Git 忽略。即#开头的文件标识注释,可以使用反斜杠进行
转义。
3)可以使用标准的glob模式匹配。所谓的glob模式是指shell所使用的简化了的正则表
达式。
4)以斜杠"/“开头表示目录;”/“结束的模式只匹配文件夹以及在该文件夹路径下的内
容,但是不匹配该文件;”/“开始的模式匹配项目跟目录;如果一个模式不包含斜杠,则
它匹配相对于当前 .gitignore 文件路径的内容,如果该模式不在 .gitignore 文件中,则
相对于项目根目录。
5)以星号”*“通配多个字符,即匹配多个任意字符;使用两个星号”**" 表示匹配任意中
间目录,比如a/**/z可以匹配 a/z, a/b/z 或 a/b/c/z等。
6)以问号"?“通配单个字符,即匹配一个任意字符;
7)以方括号”[]“包含单个字符的匹配列表,即匹配任何一个列在方括号中的字符。比如
[abc]表示要么匹配一个a,要么匹配一个b,要么匹配一个c;如果在方括号中使用短划
线分隔两个字符,表示所有在这两个字符范围内的都可以匹配。比如[0-9]表示匹配所有0
到9的数字,[a-z]表示匹配任意的小写字母)。
8)以叹号”!“表示不忽略(跟踪)匹配到的文件或目录,即要忽略指定模式以外的文件或目
录,可以在模式前加上惊叹号(!)取反。需要特别注意的是:如果文件的父目录已经被
前面的规则排除掉了,那么对这个文件用”!“规则是不起作用的。也就是说”!“开头的模式
表示否定,该文件将会再次被包含,如果排除了该文件的父级目录,则使用”!"也不会再
次被包含。可以使用反斜杠进行转义。
需要谨记:git对于.ignore配置文件是按行从上到下进行规则匹配的,意味着如果前面的
规则匹配的范围更大,则后面的规则将不会生效;

EGIT - 远程版本控制


  1. 代码托管站点

     基于Git这一优秀的分布式版本控制工具,市面上出现了大量基于Git的代码托管网站,开发者可以选择使用代码托管网
站作为分布式版本控制中的"中央服务器",从而非常便利的实现代码托管、分布式开发、项目管理等能功能,省去了自
己搭设中心服务器的麻烦。
     目前,许多开源项目也基于代码托管网站进行管理,随着越来越多的人参与和使用,Git代码托管网站早已不再只是基本
的版本管理工具,而成为了一个完整的开发者社区,在开源领域有着重要的作用。
目前有很多代码托管网站,其中最知名的是GitHub,托管着大量的私有或开源的项目,其他国外较为知名的代码托管网
站包括GitLab、BitBucket等,但这些代码托管网站通常架设在国外,国内访问并不稳定,而国内也有相关产品,例如
码云、coding等,在国内也有较为广泛的应用。
在这里插入图片描述

2,GitEE码云
     码云(gitee.com)是开源中国推出的代码托管平台,支持 Git 和 SVN,提供免费的私有仓库托管。目前已成为国内最大的代
码托管系统,有超过 300 万的开发者选择码云。
     注册码云
     访问码云官网https://gitee.com/,注册并登陆

在这里插入图片描述

在码云上创建仓库

在这里插入图片描述

配置仓库基本信息

在这里插入图片描述

获取项目地址

在这里插入图片描述

3,EGit推送代码到远程仓库 - HTTPS方式
     提交本地代码
     Team->Commit
     推送本地仓库代码到远程仓库
     Team->Remote->Push

在这里插入图片描述

在这里插入图片描述

在远程仓库中检查是否推送成功

在这里插入图片描述

4,EGit从远程仓库克隆代码到本地仓库 - HTTPS方式
     [Eclipse菜单 - File - Import]
     从远程仓库中克隆项目,选择[Eclipse菜单 - File - Import]

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

点击下一步,克隆项目成功

在这里插入图片描述

可以进一步导入该仓库中的代码到Eclipse中成为一个java项目

在这里插入图片描述

导入成功,在Eclipse下使用该项目
在这里插入图片描述

5,EGit从远程仓库拉取代码 - HTTPS方式
      Team->Remote->Fetch From…
     当远程仓库中有高于本地版本的更新内容时,可以在本地仓库通过拉取操作获取该版本内容。
     为了方便测试,在远程仓库中,创建一个新文件

在这里插入图片描述

尝试从EGIT中进行拉取,通过[Team->Remote->Fetch From…]开始拉取

在这里插入图片描述

在这里插入图片描述

拉取之后在History里可以看到最新拉取到的版本,但master和HEAD仍未执行该版本,通过[Rest->
Soft、Mixed、Hard]来进行指向

在这里插入图片描述

成功拉取了文件

在这里插入图片描述

6,使用SSH方式连接远程仓库
     非对称加密简介
     非对称加密算法是一种密钥的保密方法。
     非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。

     公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。

     非对称加密算法实现机密信息交换的基本过程是:甲方生成一对密钥并将其中的一把作为公用密钥向其它方公开;得到该公用密钥的乙方使用该密钥对机密信息进行加密后再发送给甲方;甲方再用自己保存的另一把专用密钥对加密后的信息进行解密。
     另一方面,甲方可以使用乙方的公钥对机密信息进行签名后再发送给乙方;甲方再用自己的私钥对乙方发送回来的数据进行验签。
     甲方只能用其专用密钥解密由其公用密钥加密后的任何信息。 非对称加密算法的保密性比较好,它消除了最终用户交换密钥的需要。
     非对称密码体制的特点:算法强度复杂、安全性依赖于算法与密钥但是由于其算法复杂,而使得加密解密速度没有对称加密解密的速度快。对称密码体制中只有一种密钥,并且是非公开的,如果要解密就得让对方知道密钥。所以保证其安全性就是保证密钥的安全,而非对称密钥体制有两种密钥,其中一个是公开的,这样就可以不需要像对称密码那样传输对方的密钥了。这样安全性就大了很多。
     非对称加密主要算法有: RSA、Elgamal、背包算法、Rabin、D-H、ECC(椭圆曲线加密算法)等

SSH免密登录原理

在这里插入图片描述

SSH方式免密连接远程仓库
以上的案例中均是使用HTTPS方式连接的远程仓库,但通常远程仓库通常都提供SSH方式的连接,且SSH方式以非
对称加密为原理可以实现免密登录,从而可以避免频繁的输入用户名密码,是一种更加安全、便捷的连接方式,目
前应用的非常广泛,推荐使用。

本地生成公钥私钥对

在这里插入图片描述\

在远程仓库中配置公钥

在这里插入图片描述

之后就可以通过SSH地址来免密连接远程仓库了

在这里插入图片描述

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值