在 DataGrip 中开始使用 Git
启用 Git 插件
此功能依赖于 Git 插件,该插件默认在 DataGrip 中捆绑并启用。 如果相关功能不可用,请确保您未禁用该插件。
按 Ctrl+Alt+S 打开设置,然后选择 。
打开 已安装 选项卡,找到 Git 插件,并选中插件名称旁边的复选框。
安装 GitHub 插件
此功能依赖于 GitHub 插件,您需要安装并启用它。
按 Ctrl+Alt+S 打开设置,然后选择 。
打开 市场 选项卡,找到 GitHub 插件,然后点击 安装 (如果提示,请重启 IDE)。
本教程将向您展示如何在 DataGrip 中执行最常用的 Git 操作。
您将学习如何为您的项目创建 Git 仓库、在 GitHub 上共享、提交并推送更改、创建和合并分支、解决合并冲突,以及查看文件历史记录。
步骤 1。 使用 Git 仓库创建新项目
在本教程中,我们将创建一个简单的 project,在 GitHub 上共享它,并执行一些 Git 任务。
启动 DataGrip 并点击项目微件,然后选择 新建项目。
在 新建项目 向导中,点击 新建项目。 在 新建项目 对话框中,指定新项目名称或路径。

点击 确定。 新的 project 将在 DataGrip 中打开。
从主菜单中选择 。 在文件浏览器中,选择要创建 Git 仓库的项目目录。
现在您已使用 Git 仓库创建了新项目,专用于 Git 操作的工具窗口现已可用。

步骤 2。 将文件添加到 Git
启用 Git 集成后,DataGrip 会显示已修改的文件、新添加到 Git 的文件,以及未被 Git 跟踪的文件。
为了解其工作原理,我们将创建一个简单的 README.md 文件并添加简要描述,再将其添加到 Git。
在 个文件 工具窗口 (Alt+2) 中,选择 project 目录(
gitdemo)。右键点击 project 目录,然后选择 。 将文件命名为
README.md并按下 Enter。在打开的对话框中,点击 Add ,以便 Git 开始跟踪该文件。

现在,每当您修改该文件时,DataGrip 会自动为更改建立索引(换句话说,将其添加到 Git 暂存区 ),因此无需手动操作。
将以下文本添加到新创建的文件中:
# Tutorial This is a tutorial where you will learn how to create Git repositories from your projects and share them on GitHub.按 Enter 确保在此文本后在文件中创建新行。 稍后我们将使用它来学习如何解决合并冲突。

现在,新文件已经被 Git 跟踪,并已添加到 Commit 工具窗口 Alt+0 中的 更改 更改列表。

更改 更改列表帮助您管理尚未提交到 Git 仓库的本地更改。 了解更多信息请参见 将更改分组到changelist中。
步骤 3。 将您的项目提交到本地 Git 仓库
现在,让我们把所有要共享的文件添加到仓库中,并提交它们以保存当前状态。
在 Commit 工具窗口 (Alt+0) 中,通过点击其旁的复选框选择要提交的文件。
为您的第一次提交输入消息(例如,
Add a new project to Git):
点击 Commit。
如果您之前未在计算机上使用过 Git,在提交更改之前,DataGrip 会提示您输入用户名和电子邮件地址。 Git 会将此信息存储在
.git/config,以便将您标记为提交作者。提交成功后,DataGrip 会通知您:

步骤 4。 在 GitHub 上共享您的项目
要使您的 project 可供其他贡献者使用,您需要将其发布到远程存储库,例如在 GitHub 或 GitLab 上。 DataGrip 提供了与这两个平台的集成,需在 IDE 中安装相应插件: GitHub 和 GitLab。 详细信息请参阅 管理托管在 GitHub 上的项目 和 管理托管在 GitLab 上的项目。
在本教程中,我们将在 GitHub 上发布我们的 project。
在主菜单中,进入 .
在打开的对话框中,您可以更改仓库名称(默认情况下与 project 名称相同)、远程名称(默认情况下是
origin)、选择仓库类型(公开或私有),也可以根据需要添加描述。在 存储库名称 和 远程 字段中保留默认值。 选择 私有 选项。
如果您尚未注册 GitHub,请点击 添加账户 ,然后点击 通过 GitHub 登录。

在打开的浏览器窗口中输入您的 GitHub 凭据,或在其中创建新帐户。 返回 DataGrip 后, 通过以下方式共享 字段将显示您账户的名称。
点击 共享。 项目成功发布到 GitHub 后,将出现以下通知:

点击通知中的链接以在 GitHub 上打开仓库。
步骤 5。 创建一个新分支
您可能需要创建一个单独的分支,例如当您正在开发新功能且不希望更改在测试之前进入主分支时。
按 Ctrl+T 或转到 Git | 更新项目.。 在打开的 更新项目 对话框中,保留默认的合并选项。 点击 确定 以拉取当前分支的最新版本。

在打开的对话框中,指定分支名称(例如
new_feature),并选中 签出分支 选项以立即切换到新分支。
现在,您已切换到新创建的分支:

步骤 6。 进行并查看更改
向 project 添加一个新文件(例如,
git-features.md),当 DataGrip 建议将其添加到 Git 版本控制时,点击 Add。随后,打开
README.md文件,并将现有文本替换为新描述:# Demo This is a demo project where you will learn how to commit and push changes, create and merge branches. Refer to `git-features.md` to check the list of Git operations.在 个文件 工具窗口 (Alt+2) 和编辑器标签中,DataGrip 会给文件应用不同的颜色:蓝色表示已修改,绿色表示新添加。 此外,在已修改文件的边距区域,彩色更改标记会出现在修改的行旁边。

要查看具体更改内容,请点击边距标记:

要在单独的编辑器标签中查看差异,请点击
显示行差异:

转到 Commit 工具窗口 (Alt+0 ),即可一次性预览所有更改。 双击文件以在编辑器中打开差异视图:

了解更多信息请参见 调查 Git 仓库中的更改。
步骤 7. 提交并推送更改
在我们的 new_feature 分支中,我们新建了一个 git-features.md 文件,并修改了 README.md 文件。 现在提交更改并将其推送到远程版本库。
在 Commit 工具窗口 (Alt+0) 中,选中我们两个文件旁的复选框,并输入提交消息(例如
Update README.md)。输入提交消息时,您可以为 project 文件名使用 自动补全 (Ctrl+Space):

点击 Commit。
按 Ctrl+Shift+K 或从主菜单中选择 将更改推送到远程仓库。 推送提交 对话框打开。 在此处,您可以查看所有待推送的提交以及受影响的文件。
在推送更改之前,您可以查看每个文件的差异。 为此,右键点击文件并选择
显示差异 或按 Ctrl+D:

点击 推送。
之后,DataGrip 将把所有更改推送到 GitHub 上的远程仓库。
步骤 8。 合并分支并解决冲突
您可以通过多种方式将更改从一个分支应用到另一个分支,例如合并和变基分支、挑拣提交、应用单独的更改或文件。 此处详细介绍了所有这些方法: 合并、变基或挑拣以应用更改。
在本教程中,您将学习如何合并两个分支。 我们还将故意制造一次合并冲突,以学习如何使用 DataGrip 的合并工具轻松解决合并冲突。
合并分支
在 Git 分支 微件中选择
main分支,然后点击 检出。在 第 6 步 ,我们在
README.md文件所在的new_feature分支中进行了修改。 现在,让我们在main分支中再更新一次文本,以模拟合并冲突:# Tutorial This is a test project where you will learn how to work with the most popular Git operations.按 Enter ,确保像 步骤 2中那样,在此文本后的文件中创建新行。 这将帮助我们稍后解决冲突。
按照 第 7 步 中的说明提交并推送更改。 填写提交消息(例如,
Add information about Git tutorial)。在 VCS 微件的 本地 节点中,选择
new_feature并点击 将 'new_feature' 合并到 'main'。
由于我们在不同分支中对同一文件进行了更改, 冲突 对话框出现。

解决冲突
在 冲突 对话框中,您有几种选项来解决冲突:
接受您的更改 用于保留当前分支中的更改。
接受对方的更改 用于应用您希望合并到当前分支的分支中的更改。
合并 可在专用对话框中手动解决冲突。
点击 合并。 合并修订 对话框打开:

左侧窗格名为 来自 main 的更改 ,显示来自本地副本的只读更改。
右侧窗格名为 来自 new_feature 的更改 ,显示来自
new_feature分支的只读传入更改,该分支将被合并到main中。中央窗格名为 Result ,是具备完整功能的编辑器,用于显示冲突解决结果。
在该对话框中,您可以通过点击
/
来接受更改,或点击
拒绝更改,也可以在中间的 Result 窗格中编写代码。 了解更多信息请参见 解决 Git 冲突。
让我们从左侧窗格中的
main接受一处更改,方法是点击。 由于我们不需要来自
new_feature的同一行更改,请在右侧窗格中冲突行的红色区域中点击以丢弃这些更改。
在右侧窗格中,点击
以应用来自
new_feature的其余非冲突更改。在中央窗格中查看合并结果。 合并后的文本应如下所示:
# Demo This is a test project where you will learn how to work with the most popular Git operations. Refer to `git-features.md` to check the list of Git operations.
点击 Apply。
DataGrip 会将
new_feature分支合并到main分支。通过按 Ctrl+Shift+K 或从主菜单中选择 将更改推送到远程仓库。
您可以在 Git 工具窗口 (Alt+9) 的 日志 选项卡中查看所有分支的提交:

从这里,您还可以还原提交、从一个分支挑拣更改到另一个分支,以及更多操作。 有关详细信息,请参阅 日志选项卡。
步骤 9。 查看历史记录
当您与他人共同处理 project 时,您可能会想知道该文件为何、何时以及如何被更改。
在 main 分支中,打开 README.md 文件。 要找出这些更改是在哪一次提交中引入的,请执行以下任一操作:
在 调查 Git 仓库中的更改 中找到更多探索 Git 历史的方法。
摘要
在本教程中,您已学会如何:
创建项目并包含本地 Git 仓库
将文件添加到 Git并跟踪更改
提交更改以保存项目状态
创建并切换分支
后续步骤
如果您没有在本教程中找到如何执行某些特定的 Git 任务,请参阅 Git 指南——IDE 中可用的所有 Git 操作都在其中进行了描述。
如果您的 project 未受 Git 管理,您仍可使用 本地历史记录 功能跟踪并管理本地更改、回滚到特定文件状态、恢复已删除文件等。


