Windows10系统Git仓库的安装及Eclipse-Git插件的整合

2018年10月03日 99 字 教程整理


本文将分别记录官方安装包及apt-get命令两种方式的redis数据库安装方法,以及redis的一些常用命令

Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。本文详细记录Git仓库及Eclipse-Git插件EGit的安装及配置过程。

0.1. Git托管平台账号

在使用Git仓库相关功能之前,需拥有一个代码托管平台的账号。目前比较流行的平台包括: GitHub / BitBucket / GitLab / Coding ,… 等。

0.2. Git的安装与配置

0.2.1. 安装包的下载与运行

进入Git官网 https://git-scm.com/downloads 选择系统匹配的安装包,下载后双击运行安装程序。

安装文件提示安装完成后, 打开 cmd 输入 git --version 命令查看一下是否安装成功。
如返回git版本,即可进入下一步。

0.2.2. 配置Path环境变量

设置系统变量Path,添加git.exe 文件路径,即: <安装目录>\cmd\git.exe

0.2.3. Git的用户配置及.ssh-key的生成

如已有Github或其他Git仓库的账号(如Bitbucket/GitLab/Coding,… 等),可以在这一步进行用户信息设置并生成本机ssh-key公钥。
Git支持https和git两种传输协议。使用https协议,每次pull, push都会提示要输入密码; 使用git协议+ssh密钥,可以免去每次通讯都要输密码的麻烦。

接下来将详细介绍传输公钥的配置过程。

0.2.3.1. Git仓库初始化

进入一个计划做为项目存储的版本仓库的目录,在其中新建文件夹。输入git init命令,初始化git仓库。此时该目录下出现一个.git的隐藏文件,用于记载用户的Git操作。

0.2.3.2. 账户的认证

打开gitbash,设置已有用户的账号和email,这些是在提交commit时的签名:

$ git config –global user.name "Yourname"
$ git config –global user.email "Youremail@xxx.com"

0.2.3.3. 生成本机SSH密钥

查看系统盘用户目录下(一般在 C:\Users<用户名>.ssh)是否已存在 .ssh目录。如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件;如有直接进入下一步;
如没有,在gitbash输入以下命令重新生成:

ssh-keygen -t rsa -C "Youremail@xxx.com"

此时用户SSH公钥已成功创建。进入用户目录打开.ssh文件夹,进入会看到生成的 id_rsa 以及 id_rsa.pub,前者是私钥最好不要泄露,后者是公钥可以告诉其他人。

0.2.3.4. 连接客户端与github账号,添加SSH公钥

这里以github为例,可以根据实际情况连接不同的服务器。

  1. 打开github, 进入setting → SSH and GPG keys → New SSH key 菜单,添加上一步生成的公钥。
  2. 用文本编辑器打开id_rsa.pub文件,将里面的内容复制到key 的位置。
  3. 点击Add SSH key,保存公钥。

此时,Git的安装及配置已完成,可以正常使用。

0.3. EGit的安装与配置

安装好Git仓库之后,可以选择安装Eclipse-Git插件,EGit,使代码的开发及提交更便捷。

新版本的Eclipse下载后一般都会提供Git插件,若是没有Git插件,可以再eclipse 的market里面搜索EGit插件安装,如果低版本的eclipse安装高版本的EGit插件会报错,建议尽量选择与Eclipse版本相符的EGit插件,或直接去eclipse官网下载一个最新的eclipse for j2ee。
因此在安装EGit插件之前,可以先检查一下Eclipse是否已经自带Git插件。如已经自带,则无需安装,直接进行配置即可。

具体检查或安装方式如下:

0.3.1. 查看Eclipse版本,检查Eclipse中是否已安装EGit插件

打开Eclipse菜单栏Help -> About Eclipse IDE,查看是否有EGit插件的图标。

如上图所示,如能看到EGit插件图标,说明当前Eclipse已安装好EGit插件,可以直接进入配置环节,不再安装。
如没有看到EGit插件图标,可以按照下一步进行安装:

0.3.2. Egit插件的下载与安装

EGit需要eclipse授权,通过网页是无法下载egit的安装包的。因此EGit的下载及安装仍在Elipse程序中进行。
注意:一般market里面搜索到的EGit插件都是适合最新版本的eclipse,所以建议先打开http://wiki.eclipse.org/EGit/FAQ#Where_can_I_find_older_releases_of_EGit.3F。该网页提供了对应版本的EGit,自己选择相应的版本。

在Eclipse工具栏依次打开eclipse→help→install new software→Add,Name栏中输入EGit,location栏中输入 http://download.eclipse.org/egit/updates-X.X.X ,点击OK进行下载。

下载完成后会自动开始安装,根据界面提示点击next即可。
安装完成后会提示重启eclipse,点击OK即可完成整个安装流程。

0.3.3. EGit的基本配置及属性定义

0.3.3.1. Git账号的配置

进入工具栏Window ->Preferences -> Team -> Git -> Configuration,点击Add Entry…,添加name和email,在将项目代码commit到Git时需要用到name和email信息。

在点击AddEntry…弹出的对话框中,Key填user.name,Value填姓名信息,这是添加name信息,在添加email信息时,Key填user.email,Value填email地址。

0.3.3.2. 其他常用属性与配置

在工具栏Window ->Preferences -> Team -> Git -> Configuration中,可以查看或修改本地仓库路径等其他常用配置。

0.3.4. EGit的主要功能使用方法解析

0.3.4.1. 本地项目提交及远程仓库推送

0.3.4.1.1. 创建GitHub项目代码仓库(如已存在可跳过)

登录GitHub,点击“New repository”添加项目代码仓库。

输入Repository name(建议与提交的项目名同名),Description(稍微描述一下此项目的主要功能),选Public(Private为收费私人项目;Public免费公开项目,即所发布的项目代码任何人都可以查看得到),最后点击Create repository,项目代码仓库创建完毕。

0.3.4.1.2. 将本地项目代码发布至本地Git仓库

选中要发布的项目,单击右键,Team -> Share Project,选择Git,点击Next

勾选Use or create repository in parent folder of project,选中要发布的项目,点击Create Repository,点击Finish完成。

发布项目。鼠标选中要发布的项目,单击右键,Team -> Commit,填写Commit message(必填,即当前版本的更新事项),勾选全选,点击Commit提交。

注意:此时,仅是提交在本地Git仓库,还需要Push才能提交到GitHub中(下一步)。

0.3.4.1.3. 将项目发布至GitHub远程仓库

选中要发布的项目,单击右键,Team -> Remote -> Push
粘贴项目远程仓库的URI,填写UserPassword(即GitHub的账户名和密码),点击Next。

接下来点击Source ref的下拉框,选择即将更新的Branch(一般为master),点击Add Spec,点击Finish,点击OK完成。

如下图所示,项目已成功Push到GitHub远程仓库。

0.3.4.1.4. 项目首次推送(push)需注意的问题

在本地进行commit操作将项目更新提交到本地Git仓库后,如项目首次推送至远程仓库,则需先将服务器端的更新pull到本地仓库进行合并(Merge),然后再进行push操作。

发布后的GitHub项目页面,可以很方便的看到提交的次数,每次提交的备注信息等,非常方便对代码的管理。

0.3.4.2. 历史记录及版本对比

0.3.4.2.1. 历史记录

进入Team -> Show in history菜单可以查看版本历史提交记录。

0.3.4.2.2. 版本对比

点击 Compare Mode 可以选择对比模式。

0.3.4.3. 远程Git仓库的访问及远程GitHub项目导入本地

0.3.4.3.1. 下载GitHub项目代码至本地Git仓库(clone)

从GitHub中取得项目代码后,点击工具栏Window -> Show View -> Git -> Git Repositories,点击OK,调出Git Repositories视图。

在Git Repositories视图中,点击clone按钮,进入Clone Git Repository对话框。填写URI,User,Password,点击Next。

接下来选择即将保存的仓库分支(Branch)和本地保存路径,点击Finish。

至此,项目代码就被下载到指定目录下了,需要使用的时候通过Eclipse Import进来即可。

0.3.4.3.2. 导入Git仓库代码到Eclipse

0.3.5. Egit使用过程中的常见问题及解决办法

0.3.5.1. non-fast-forward冲突问题

问题non-fast-forward的出现原因在于: Git仓库中已经存在一部分代码,所以它不允许直接把新的的代码直接覆盖上去。

解决的方法有两个:

0.3.5.1.1. 使用git push –f命令强制推送
git push –f

如使用EGit推送,则可以在推送界面选择Force Update All Specs即可达到一样的效果:

0.3.5.1.2. 先将远程Git仓库的内容fetch到本地,merge后再push
git fetch
git merge

git pull

两组命令等价。

0.3.5.2. pull时出现Thecurrent branch is not configured for pull No value for key branch.master.mergefound in config错误

解决方法:
在项目本地工程目录找到config文件打开编辑,如果你用的是Egit则可以通过:windows>preferences>team>git>configuration>repository Settings>open配置文件即可;

在config文件中添加:

[branch "<待提交的分支>"]

remote = origin

merge = refs/heads/<待提交的分支>

如:

[branch "master"]

remote = origin

merge = refs/heads/master

修改完成后,再执行pull操作即可。

0.3.5.3. push操作时Can’t connect to any repository:(Nothing to push) 问题

如果没对分支的配置文件中添加推送配置的话,则无法向服务器推送这个分支的:

解决这个问题需要在.get/config文件中添加如下配置即可:

[remote"origin"]

push=refs/heads/dev:refs/heads/dev

也可以通过可视化界面来操作: