安装Git插件及其配置使用

                  Git技术文档

说明:本文档在我们最大努力范围之内确保其正确性、实效性和可观性,但并不代表所有的观点都是正确的,而仅代表个人看法。如发现不当之处,请多指教,谢谢!

1、技术概述
简述该技术的产生背景,原理,类似技术比对,当前发展情况。
1.1产生背景:
Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。
1.2技术对比:原理类似SVN
集中式vs分布式
先说集中式版本控制系统,版本库是集中存放在中央服务器的,而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始干活,干完活了,再把自己的活推送给中央服务器。中央服务器就好比是一个图书馆,你要改一本书,必须先从图书馆借出来,然后回到家自己改,改完了,再放回图书馆。
集中式版本控制系统最大的毛病就是必须联网才能工作。那分布式版本控制系统与集中式版本控制系统有何不同呢?首先,分布式版本控制系统根本没有“中央服务器”,每个人的电脑上都是一个完整的版本库,这样,你工作的时候,就不需要联网了,因为版本库就在你自己的电脑上。既然每个人电脑上都有一个完整的版本库,那多个人如何协作呢?比方说你在自己电脑上改了文件A,你的同事也在他的电脑上改了文件A,这时,你们俩之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。
在实际使用分布式版本控制系统的时候,其实很少在两人之间的电脑上推送版本库的修改,因为可能你们俩不在一个局域网内,两台电脑互相访问不了,也可能今天你的同事病了,他的电脑压根没有开机。因此,分布式版本控制系统通常也有一台充当“中央服务器”的电脑,但这个服务器的作用仅仅是用来方便“交换”大家的修改,没有它大家也一样干活,只是交换修改不方便而已。
1.3当前发展情况:
分布式版本控制系统除了Git以及促使Git诞生的BitKeeper外,还有类似Git的Mercurial和Bazaar等。这些分布式版本控制系统各有特点,但最快、最简单也最流行的依然是Git!

2、使用优点
特点:
保存点 : Git的保存点可以追踪源码中的文件, 并能得到某一个时间点上的整个工程项目额状态; 可以在该保存点将多人提交的源码合并, 也可以会退到某一个保存点上;
Git离线操作性 :Git可以离线进行代码提交, 因此它称得上是完全的分布式处理, Git所有的操作不需要在线进行; 这意味着Git的速度要比SVN等工具快得多, 因为SVN等工具需要在线时才能操作, 如果网络环境不好, 提交代码会变得非常缓慢;
Git基于快照 : SVN等老式版本控制工具是将提交点保存成补丁文件, Git提交是将提交点指向提交时的项目快照, 提交的东西包含一些元数据(作者, 日期, GPG等);
Git的分支和合并 : 分支模型是Git最显著的特点, 因为这改变了开发者的开发模式, SVN等版本控制工具将每个分支都要放在不同的目录中, Git可以在同一个目录中切换不同的分支;
分支即时性 : 创建和切换分支几乎是同时进行的, 用户可以上传一部分分支, 另外一部分分支可以隐藏在本地, 不必将所有的分支都上传到GitHub中去;
分支灵活性 : 用户可以随时 创建 合并 删除分支, 多人实现不同的功能, 可以创建多个分支进行开发, 之后进行分支合并, 这种方式使开发变得快速, 简单, 安全。

3、使用步骤
将使用步骤图文并茂详细描述
3.1 插件的安装
插件安装有3种方法:形式同SVN
3.1.1本地安装
这是最简单的方法。
下载Eclipse的git插件——EGit。下载网址http://download.eclipse.org/egit/updates-1.3/org.eclipse.egit-updatesite-1.3.0.201202151440-r-site.zip ,这是截至目前最新版的,如果想下更新版本,访问EGit的下载页面 http://www.eclipse.org/egit/download/ 即可。
安装插件:把上一步下载的插件解压出来,删掉XML文件。在MyEclipse的dropins目录下新建一个egit文件夹,然后把刚才解压的features、plugins和另外两个jar包全放进去。
这里写图片描述
重启MyEclipse后,进入window-preferences-team,看到Git选项,就说明安装成功了。

3.1.2 Myeclipse上安装GIT插件EGit
Eclipse、MyEclipse使用git插件(egit)图解
1.加压放到Eclipse的dropins文件夹内或者直接放到对应的文件夹下。
这里写图片描述
图表1
2在dropins文件夹下通过新建一个*.link文件,然后文件中输入PATH=%PLUGINS_PATH%,这样的方式,可以不用担心以后插件过多时出现混乱,也方便移除相关插件。具体内容如下图中所示:
这里写图片描述
这里写图片描述
图表3
其中的PATH=%PLUGINS_PATH%可以有多行,每一行代表着不同的插件路径。
3.1.3 在线安装
首先找到Eclipse的“Help”菜单,然后“Install NewSoftware”,然后找到如下图所示的部分。
这里写图片描述
点击ok按钮出现以下对话框
这里写图片描述
只选择EGit的两个选项即可,点击next后等待
这里写图片描述
之后进入如下页面 点击next
这里写图片描述
以下界面选择接受,点击finish
这里写图片描述
开始安装
这里写图片描述
之后会提示重启eclipse,重启即可完成集成

插件安装完毕以后,重启Eclipse,发现在window->preference->Team下出现Git就成功了。就可以开始配置和使用这个插件了.

3.2 设置个人信息
配置个人信息,最重要的是user.name和user.email
l Preferences > Team > Git > Configuration
l New Entry
设置提交人的信息
这里写图片描述
这里写图片描述
这里写图片描述
此时我们尝试做一次提交
3.3 提交项目
新建项目,并将代码提交到本地的GIT仓库中

1、新建项目 git_demo,并新建HelloWorld.java类
这里写图片描述
2、将git_demo项目提交到本地仓库,如下图
这里写图片描述
这里写图片描述
这里写图片描述
到此步,就成功创建GIT仓库。但文件夹处于untracked状态(文件夹中的符号”?”表示),下面我们需要提交代码到本地仓库,如下图
这里写图片描述
这里写图片描述
这里写图片描述
Team -> Show in history可以查看版本历史提交记录
这里写图片描述
可以选择对比模式
这里写图片描述
这里写图片描述
3.4:将本地代码提交到远程的GIT仓库中
在github网站上可以免费注册用户,把项目托管到在线服务器上。
测试账号:yangxiangyang
测试密码:(注册一个)
准备工作:在https://github.com上创建仓库
这里写图片描述
这里写图片描述
点击“Create repository” ,ok,这样在github上的仓库就创建好了。

注意创建好远程仓库后,点击进去,此时可以看到一个HTTP地址,如红线框,这个是你http协议的远程仓库地址
这里写图片描述
准备工作做好了,那开始将代码提交到远程仓库吧
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
OK,这样提交远程GIT就完成了,可以在https://github.com核对一下代码是否已经提交
这里写图片描述
注意的问题
如果是首次提交会第一步:先在本地建立一个一样的仓库,称本地仓库。
第二步:在本地进行commit操作将把更新提交到本地仓库;
第三步: 将服务器端的更新pull到本地仓库进行合并,最后将合并好的本地仓库push到服务器端,这样就进行了一次远程提交。
这里写图片描述
如果非首次提交同样的道理
第一步:将修改的代码commit操作更新到本地仓库;
第二步:第三步: 将服务器端的更新pull到本地仓库进行合并,最后将合并好的本地仓库push到服务器端
3.5 在线编辑
这里写图片描述
编辑数据,保存
这里写图片描述
测试时,360浏览器提交按钮不能点击,使用火狐浏览器可以使用。
3.6 同步服务器数据到本地
这里写图片描述
项目上右键点击,pull把服务器上的数据同步到本地
这里写图片描述
如果本地和服务器数据一致,没有修改,测出现上图提示框。

如果本地与服务器数据不一致,则更新数据到本地。上图选择修改后的数据保存到哪个文件中。

3.7 把GitHub的代码Clone到本地

在GitHub上选择你要Clone的项目,查看它的地址。
这里写图片描述
拷贝项目的地址
这里写图片描述
在Myeclipse空白处右键Import,在弹出窗口中选择Git路径,如下图
这里写图片描述
下一步,选择URI
这里写图片描述
在地址栏输入GitHUb的项目路径,输入账号,密码,下一步
这里写图片描述
当前GitHUb上的项目有3个分支,选择你要下载的分支,下一步
这里写图片描述
设置你的下载路径: 下一步
这里写图片描述
GitHub上的项目已经下载到你的文件夹中了。

下载后可以直接设置导入到工程文件中,
选项1:导入已经存在的工程
选项2:使用新的工程向导
选项3:作为普通的导出导入

(导入文件工程工程不再详述。)
这里写图片描述
4、示例
Git属于技术性操作,可根据自己的代码测试功能。

5、问题总结(必须整理)

5.1. 图标的说明
向上箭头表示本地有提交(commit),但是还没有推(push)到远程代码库中,旁边的数字表示本地commit的次数;

向下箭头表示你拉(fetch)下来的更新,需要合并(merge)到你的本地代码库,旁边的数字表示更新的次数;
这里写图片描述
5.2.解决eclipse中git插件中的cannot open git-upload-pack问题
问题:git-upload-pack.exe 程序启动失败
这里写图片描述
这里写图片描述
下载libintl-8.dll文件覆盖Git安装目录下的D:\Program Files (x86)\ICW\bin下的libintl-8.dll文件
5.3.文件冲突的解决
程序员1先push代码,程序员2使用pull来合并本地仓库和远程仓库,将发行文件出现冲突,此时GIT会自动合并冲突的文件,如下图所示:
这里写图片描述
这里写图片描述
很明显自动合并的冲突文件不能直接使用,我们可以手动调整,右键发生冲突的文件,选择Team -> Merge Tool
这里写图片描述
第一项是将GIT自动合并过的文件和服务器端文件进行对比
第二项是用本地最新版本的文件和服务器端文件进行对比,建议用此项
接下来就是熟悉的对比界面
这里写图片描述
程序员2将冲突文件修改如下
这里写图片描述
然后右键点击此冲突文件,选择Team -> Add to index再次将文件加入索引控制,此时文件已经不是冲突状态,并且可以进行提交并push到服务器端
这里写图片描述
解决合并冲突后,程序员1只需要将服务器中合并后的版本pull到本地,就完成了一次协作开发的代码合并。从历史记录中可以看到,从mushroom开始历史进入分支,先是mushroomA的记录,然后是mushroomB的记录,最后历史分支合并。
这里写图片描述
5.4. 服务器同步数据到本地,pull报错
如下图,设置
这里写图片描述
修改或新建你的配置
[user]
name = yangxiangyang
email = 1161108412@qq.com
[http]
[branch “master”]
remote = origin
merge = refs/heads/master
[remote “origin”]
url =https://github.com/yangxiangyang/ydmm.git
[filter “lfs”]
clean = git-lfs clean %f
smudge = git-lfs smudge %f
required = true

6、深入开发
1.不需要服务器的情况下,两台计算机之间的推送
2.安装Git服务端和SSH服务协议,完成Git服务器的搭建。通过服务器,进行文件推送。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Celebrity_Senior

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值