教程:在 GoLand 中入门使用 Git
本教程将向您展示如何在 GoLand 中执行最常用的 Git 操作。
您将学习如何为项目创建 Git 仓库、在 GitHub 上共享、提交并推送更改、创建和合并分支、解决合并冲突,以及查看文件历史记录。
步骤 1。 创建一个包含 Git 版本库的新项目
在本教程中,我们将创建一个简单的 项目,在 GitHub 上共享它,并执行一些 Git 任务。
启动 GoLand,然后在 新建 项目 的 欢迎 屏幕中点击。
在 新项目 向导中,从 新项目 列表选择 项目 类型(本教程中,我们将创建一个 空 项目 ),指定 项目 的名称(例如
gitdemo),并提供位置路径。请选择 创建 Git 仓库 选项。

点击 创建。 新的 项目 将在 GoLand 中打开。
您将收到通知,表示已为您的 项目 创建本地 Git 存储库。
现在,您已经创建了包含 Git 仓库的新项目,会有专门用于 Git 操作的工具窗口可用。

VCS 微件: 管理 Git 分支 并执行基本的 Git 操作。
提交 工具窗口(Ctrl+K 或 ): 查看本地更改 并 提交至本地 Git 版本库。
步骤 2。 将文件添加到 Git
启用 Git 集成后,GoLand 会显示哪些文件已被修改、哪些新文件已添加至 Git,以及哪些文件未被 Git 跟踪。
为了了解其工作原理,我们将创建一个简单的 README.md 文件,并添加简要说明后将其添加至 Git。
在 项目 工具窗口(Alt+1 )中,选择 项目 目录(
gitdemo)。点击工具窗口工具栏上的
新建文件或目录 (或按 Alt+Insert ),并从列表中选择 文件。 为文件命名为
README.md,然后按 Enter。在打开的对话框中,点击 添加 ,以便 Git 开始跟踪该文件。

现在,当您修改此文件时,GoLand 会自动索引任何更改(换句话说,将其添加到 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 跟踪,并已添加到 提交 工具窗口(Alt+0 )中的 更改 更改列表。

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

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

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

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

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

步骤 6。 进行并查看更改
向 项目 添加一个新文件(例如,
git-features.md),当 GoLand 建议将其添加到 Git 版本控制时,点击 添加。然后打开
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+1 )和编辑器标签页中,GoLand 会为文件使用不同颜色:已修改为蓝色,新添加为绿色。 此外,在已修改文件的边距区域中,已修改行旁会显示颜色变更标记。

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

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

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

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

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

点击 推送。
之后,GoLand 会将所有更改推送到 GitHub 上的远程仓库。
步骤 8。 合并分支并解决冲突
有多种方式可以将一个分支中的更改应用到另一个分支,例如合并和变基分支、拣选提交、应用单独更改或文件。 所有这些方法都在 合并、变基或挑拣以应用更改 中有详细描述。
在本教程中,您将了解如何合并两个分支。 我们还将故意制造一次合并冲突,以学习如何使用 GoLand 的合并工具轻松解决合并冲突。
合并分支
在 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 的更改 ,显示来自要合并到
main分支的new_feature分支的只读传入更改。中央窗格名为 结果 ,是一个功能完备的编辑器,显示冲突解析结果。
在该对话框中,您可通过点击
/
来接受更改,点击
来拒绝更改,并可在中间的 结果 窗格中输入代码。 如需了解更多信息,请参阅 解决 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。
GoLand 将会把
new_feature分支合并到main分支。按 Ctrl+Shift+K 或在主菜单中选择 将更改推送到远程版本库。
您可以在 Git 工具窗口(Alt+9 )的 日志 选项卡中查看所有分支的提交:

在此,您还可以还原提交、将一个分支的更改拣选到另一个分支,等等。 有关详细信息,请参阅 日志选项卡。
步骤 9。 查看历史记录
当您与他人共同处理 项目 时,您可能会想知道该文件为何、何时以及如何被更改。
在 main 分支中,打开 README.md 文件。 若要了解这些更改源自于哪个提交,请执行以下其中一项操作:
在编辑器或 项目 工具窗口(Alt+1 )中右键点击文件,然后选择 。 历史记录 选项卡将在 Git 工具窗口中打开:

在该选项卡中,您可以查看影响此文件的所有提交,并查找包含您关注更改的提交记录。
在编辑器中,选择您想查看历史记录的代码片段,右键点击该选中部分,并选择 。 将打开 所选内容的历史记录 对话框:

在此,您可以查看影响所选代码片段的所有提交记录。
如需了解更多浏览 Git 历史记录的方式,请参见 调查 Git 仓库中的更改。
摘要
在本教程中,您已经学习了如何:
创建项目并初始化本地 Git 仓库
将文件添加到 Git并跟踪更改
提交更改以保存项目状态
创建和切换分支
后续步骤
如果您未在本教程中找到某些特定 Git 操作的执行方式,请参阅 Git 指南,IDE 中可用的所有 Git 操作都在其中进行了解释。
如果您的 项目 未受 Git 管理,您仍可使用 本地历史记录 功能跟踪并管理本地更改、回滚到特定文件状态、恢复已删除文件等。
