Git+eclipse--day4

一:什么是Git

       Git 是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

二:Git的特点

       分布式相比于集中式的最大区别在于开发者可以提交到本地,每个开发者通过克隆(gitclone),在本地机器上拷贝一个完整的 Git 仓库。
       从一般开发者的角度来看,git 有以下功能:从服务器上克隆完整的 Git 仓库(包括代码和版本信息)到单机上、在自己的机器上根据不同的开发目的,创建分支,修改代码、在单机上自己创建的分支上提交代码、在单机上合并分支、把服务器上最新版的代码 fetch 下来,然后跟自己的主分支合并等。

1:优点

       适合分布式开发,强调个体。公共服务器压力和数据量都不会太大。速度快、灵活。任意两个开发者之间可以很容易的解决冲突。离线工作。

2:缺点

       资料少(起码中文资料很少)。学习周期相对而言比较长。不符合常规思维。代码保密性差,一旦开发者把整个库克隆下来就可完全公开所有代码和版本信息。因其资料的公开性,导致大型商业化工程几乎不会使用 GIT 来托管工程版本信息(除非搭建企业私服)。

三:GitHub简介

       平台地址:https://github.com

       GitHub是一个面向开源及私有软件项目的托管平台,因为只支持 Git 作为唯一的版本库格式进行托管,故名 GitHub。

       GitHub 于 2008 年 4 月 10 日正式上线,除了 git 代码仓库托管及基本的 Web 管理界面以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能。目前,其注册用户已经超过 350 万,托管版本数量也是非常之多,其中不乏知名开源项目 Rubyon Rails、jQuery、python 等。
       作为开源代码库以及版本控制系统,Github 拥有超过 900 万开发者用户。随着越来越多的应用程序转移到了云上,Github 已经成为了管理软件开发以及发现已有代码的首选方法。

       如前所述,作为一个分布式的版本控制系统,在 Git 中并不存在主库这样的概念,每一份复制出的库都可以独立使用,任何两个库之间的不一致之处都可以进行合并。

       在 GitHub,用户可以十分轻易地找到海量的开源代码。

1:注册账号

       请自行在 Github(https://github.com)网站中注册。在部分企业中,开发人员是否拥有 Github 帐户,在 Github 中是否有个人的代码和资料发布、发布数量等,成为了开发人员实力的一种评价标准。

2:创建版本仓库

2.1:进入管理页面

2.2:进入仓库管理面板

2.3:提供新增仓库信息

注意,这里创建的是公开版本仓库,私有版本仓库不完全开放,大部分功能需要付费购买。

 2.4 成功创建后的页面内容

 3:提供SSH2密钥

3.1:创建本地密钥

       使用 EclipseIDE 生成本地密匙文件。window->preference->general->network connections->ssh2->点击 Generate RSA KEY->点击Save private key 生成并保存本地密匙:

       生成后的密匙文件所在位置是:C:\${user.home}\.ssh 目录。密匙文件名为:id_rsa 和id_rsa.pub。其中 id_rsa.pub 文件是公钥密匙,需要手工添加到 Github 密匙库中。 

3.2 Github 

 进入 Github 密匙管理面板

 

创建新的 SSH 密匙

 

在 title 中输入密匙名称(自定义),在 key 文本域中输入 id_rsa.pub 文件中的内容。并确认新增密匙。

 

密匙新增成功(新增密匙过程可能需要确认用户密码),管理面板如下:

3.3 GitHub

  在密匙管理面板中,点击 Delete 按钮可以删除密匙(删除过程可能需要输入登录密码)。

4:删除版本仓库

进入版本库管理面板:

选择要删除的版本仓库,进入对应仓库的 Settings 管理界面:

 

在管理界面的最末端,点击 Delete this repository 按钮:

在确认对话框中,输入要删除的版本仓库名称,并确认删除

四:EGIT插件应用(Eclipse GIT插件)

1:安装EGIT插件

Eclipse Mars2 版本,默认集成 EGIT 插件,如果需要安装 EGIT 插件,可以使用在线安装方式实现。

1.1:进入新插件安装面板

1.2:   新增要安装的插件

插件名称自定义, 插件地址为:

http://download.eclipse.org/egit/updates/

 

1.3:选择要拉取的插件

2:Eclipse  访问 GitHub  问题解决

ini 配置文件增加下述配置:ini 配置文件位置: eclipse 安装目录/eclipse.ini 文件。

-Dhttps.protocols=TLSv1.1,TLSv1.2

3:EGIT插件参数配置

使用 EGIT 插件,可以提前配置一些参数,为 GIT 访问远程版本仓库提供便利。

3.1:进入 Eclipse  配置面 板(Window->Preferences )

3.2:新增参数信息

常用 参数有 下述 4 个:
http.sslVerify=false 关闭 ssl 校验。 (选填,如果未提供 SSH2 密匙必填)
http.sslVersion=tlsv1.2 定义 ssl 协议版本,Github 在最近的更新中关闭了 tlsv1.0 和 tlsv1.1
协议的访问,不提供此参数无法访问 Github 远程版本仓库 ( JDK1.8 未测试) 。
user.email=xxx@xxx
user.name=xxx

       在访问 Github 远程版本仓库的时候,Github 要求必须提供用户和电子邮箱,如果不提供上述参数,在后续操作中需要提供对应的信息,参考下图。

4:创建本地版本仓库

4.1  打开 GIT Repositories  管理面板

4.2:  创建本地版本仓库

5:克隆远程版本仓库

此操作为常用操作,在克隆远程版本仓库同时, EGIT 插件会自动创建一个本地版本仓库与之对应。

6:增加内容

此操作就是将本地工程分享到 GIT 中,并使用 GIT 来进行版本信息管理。

7:提交内容

8:更新内容

8.1:fetch

抓取, 抓取远程的 head 信息。从远程仓库中下载 head 头信息的变更状态。没有下载真实的代码变化。

8.2:pull

拉取,相当于先 fetch head 再 pull code。 先下载 head 头的变更,再根据头信息的变更下载真实的代码。通常直接 pull 即可。

9:分支管理

       分支管理,是 GIT 开发中的一个非常有效的团队开发策略。多个程序员并行开发,每程序员可以定义各自的分支,在自己的分支上开发工程。再开发结束测试完毕后,再合并到主干工程中,一次性提交到远程。由其他程序员使用。

9.1:创建新分支

 

 9.2:分支切换

9.3:合并分支

首先切换到 master 主干,再执行下述操作:

9.4:删除分支

9.4.1:删除本地分支

 

9.4.2:删除远程分支

10:冲突管理

10.1:提交冲突

10.1.1:远程代码

10.1.2:本地代码

10.1.3:提交

10.1.4:结果

10.2:同步

 

10.3:pull远程代码

 

10.4:修改内容

10.5:将修改后的内容加入索引信息

10.6:提交内容

11:拉取内容

11.1:拉取远程工程

11.2:拉取远程代码

       在 Git 中,fetch 和 pull 的功能不同,fetch 是拉取远程版本库中的变化信息,是将远程版本仓库中最新版本的 heads 头信息更新到本地版本仓库,不包含具体的内容。pull 则是将远程版本仓库中的 heads 和内容都更新到本地仓库。可用下述图例简单描述:

12:删除内容

12.1:删除代码

12.2:删除工程

13:忽略文件

       如果本地有若干文件或目录不想提交到远程。可以使用忽略的方式实现。.gitignore 文件中定义的内容,都是忽略的内容。不上传到远程仓库的内容。忽略信息定义方式:

目录 - /目录名称/
文件 - /文件名称 、 /目录名称/文件名称
匹配 - /前缀* 、 /*后缀 、 /*中缀*
匹配 - *.xxx 、 xxx.* 没有‘/’的匹配,对应的是所有目录中的有效内容。


上述配置中的‘/’代表的是工程的根目录。修改.gitignore 文件后,需要将修改后的文件增加到索引:

提交修改后的.gitignore 文件。

保证忽略信息生效。再次提交相关内容时,会自动忽略.gitignore 文件中的配置内容。不做提交处理。

 

 

 

 

 

 

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值