Contents

EGit 简介

1. 概述

在本文中,我们将探索 EGit——Eclipse 的 JGit 库的演变。

2. EGit 设置

在本文中,我们将使用以下工具:

  • Eclipse Neon.3 版本 4.6.3
  • EGit 插件版本 4.8

2.1. 在 Eclipse 中安装 EGit

从 Eclipse Juno 开始,EGit 包含在 Eclipse 本身中。

对于旧版本的 Eclipse,我们可以通过Help -> Install New Software并提供 URL http://download.eclipse.org/egit/updates 来安装插件:

/uploads/egit/1.png

2.2. 识别提交者

Git 需要跟踪提交背后的用户,因此我们应该在通过 EGit 提交时提供我们的身份。

这是通过Preferences -> Team -> Git -> Configuration完成的,然后单击Add Entry以包含user.nameuser.email的信息:

[/uploads/egit/3.png

3. 存储库

3.1.存储库视图

EGit 带有 Repositories 视图,它允许我们:

  • 浏览我们的本地存储库
  • 添加和初始化本地存储库
  • 删除存储库
  • 克隆远程存储库
  • 查看项目
  • 管理分支机构

要打开 Repositories 视图,请单击Window -> Show View -> Other -> Git -> Git Repositories

/uploads/egit/4.png

3.2. 创建新存储库

我们需要创建一个项目并右键单击它以选择Team -> Share ProjectCreate

从这里,我们选择存储库目录并单击完成

/uploads/egit/6.png

3.3. 克隆存储库

我们可以将存储库从远程 git 服务器克隆到我们的本地文件系统。

让我们去*File -> Import… -> Git -> Projects from Git -> Next -> Clone URI -> Next,*然后将显示以下窗口:

/uploads/egit/8.png

我们还可以从Repositories视图选项卡中的Clone Remote Repository工具栏按钮打开相同的窗口。

Git 支持 https、ssh、git 等多种协议。如果我们粘贴远程仓库的 URI,其他条目会自动填充。

4. 分支机构

我们将处理两种类型的分支:

  • 当地分公司
  • 远程跟踪分支

4.1.创建本地分支

我们可以通过点击Team -> Repository -> Switch to -> New Branch 创建一个新的本地分支:

/uploads/egit/10.png

我们可以选择作为本地分支的基础的远程跟踪分支。将上游配置添加到我们的新本地分支将简化本地更改与远程更改的同步。

建议检查对话框中的选项配置上游推送和拉取

另一种打开新分支对话框的方法是在 Repositories 视图中右键单击分支-> 切换到 -> 新分支

4.2. 检出分行

Repositories视图中,右键单击分支名称并单击Check Out

/uploads/egit/12.png

或者右键单击项目并选择Team -> Switch To -> 选择分支名称

/uploads/egit/14.png

5. 使用 Git 跟踪文件

5.1.跟踪更改

问号出现在尚未受 Git 控制的文件上。我们可以通过右键单击它们并选择Team -> Add to Index来跟踪这些新文件。

从这里开始,装饰器应该变成*(+)* 符号。

5.2. 提交更改

我们想提交对跟踪文件的更改。这是通过右键单击这些文件并选择Team -> Commit 来完成的:

/uploads/egit/16.png

默认情况下,作者和提交者取自我们主目录中的*.gitconfig*文件。

我们可以输入提交消息来解释更改。另外,通过点击右上角的Add Signed-off-by图标,我们可以添加一个Signed-off-by标签。

5.3. 检查历史

我们可以通过右键单击文件并选择Team -> Show in History 来检查文件的历史记录。

历史对话框将显示已检查文件的所有已提交更改:

/uploads/egit/18.png

我们可以通过单击历史选项卡右上角的比较模式图标然后双击文件名(这里是一个示例:HelloEgit/src/HelloEgitClass.java)在比较视图中打开最后提交的更改文件清单:

/uploads/egit/20.png

5.4. 将更改推送到远程存储库

要推送我们的更改,我们需要有一个远程 Git 存储库。

Team -> Remote -> Push我们可以在向导中输入新 Git 远程存储库的 https URL:

/uploads/egit/22.png

下一步是:

  • 选择Add All Branches Spec将本地分支名称映射到目标存储库中的相同分支名称
  • 按下确认按钮 - 向导将显示更改文件的预览
  • 最后,我们单击Finish将我们的存储库推送到远程位置。

如果我们在 4.1 节中设置了上游配置,则不会显示此配置对话框,并且推送会容易得多。

5.5. 从上游获取

如果我们正在使用基于远程跟踪分支的本地分支,我们现在可以从上游获取更改。

为了从上游获取,我们右键单击项目并选择Team -> Fetch from Upstream(或通过右键单击Repositories View上的存储库并选择Fetch from Upstream)。

可以通过右键单击项目并选择Team -> Remote -> Configure Fetch from Upstream 来配置此提取:

/uploads/egit/24.png

5.6. 比较和同步

如果我们想查看本地工作目录和提交的更改之间的更改,我们可以右键单击资源并选择Compare With。这将打开同步视图以允许我们浏览更改:

/uploads/egit/26.png

通过双击更改的文件,将打开比较编辑器,允许我们比较更改。

如果我们想比较两个提交,我们需要选择Team -> Show in History

在历史视图中,我们将突出显示要比较的两个提交,然后选择“相互比较”选项:

/uploads/egit/28.png

如果我们想在工作目录和分支之间进行比较,我们可以使用Team -> Synchronize

5.7. 合并

合并将来自一个分支或标签的更改合并到当前签出的分支中。

我们可以通过单击Team -> Merge或在存储库视图中右键单击存储库名称并选择Merge来合并:

/uploads/egit/30.png

现在我们可以选择要与当前签出的分支合并的分支或标签。