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

单击 创建。 新的 项目 将在 GoLand 中打开。
您将收到通知,表示已为您的 项目 创建本地 Git 存储库。 此外,处理 Git 的专用工具窗口将可用。

步骤 2。 将文件添加到 Git
启用 Git 集成后,GoLand 会显示哪些文件已被修改、哪些新文件已添加到 Git,以及哪些文件未由 Git 跟踪。
要了解其工作方式,让我们创建一个简单的 README.md 文件,添加一段简短的说明,并将其添加到 Git。
在 项目 工具窗口 Alt+1 中,选择 项目 目录(
gitdemo)。在工具窗口工具栏上点击
,并从列表中选择 文件。 将该文件命名为
README.md。在打开的对话框中,点击 添加 ,以便 Git 开始跟踪该文件。

现在,当您修改此文件时,GoLand 会自动为任何更改建立索引(换句话说,将其添加到 Git staging area ),因此您无需手动执行此操作。
将以下文本添加到新创建的文件:
#Tutorial This is a tutorial where you will learn how to create Git repositories from your projects and share them on GitHub.稍后我们将使用它来学习如何解决合并冲突。
现在,新文件已由 Git 跟踪,并已添加到 提交 工具窗口 Alt+0 中的 更改 更改列表。

更改 更改列表可帮助您管理尚未提交到 Git 存储库的本地更改。 详细了解请参阅 将更改分组到changelist中。
还有 未受版本控制的文件 更改列表,其中包含属于您 项目 的文件,但尚未添加到 Git 存储库。 本教程中我们不会处理它们,但您始终可以在 将文件排除在版本控制之外(忽略) 中进一步了解未版本控制的文件。
步骤 3。 将您的项目提交到本地 Git 仓库
现在,让我们将要共享的所有文件添加到存储库,并提交它们以保存其当前状态。
在 提交 工具窗口 Alt+0 中,通过点击文件旁边的复选框选择要提交的文件。
为您的第一次提交输入消息:

单击 提交。 GoLand 会在提交成功后通知您:

如果您此前未在计算机上使用 Git,在提交更改之前,GoLand 将要求您输入您的用户名和电子邮件地址。 Git 会将此信息存储在
.git/config中,以便将您标识为提交的作者。
步骤 4。 在 GitHub 上共享您的项目
要使您的 项目 可供其他贡献者使用,您需要将其发布到远程存储库,例如在 GitHub 或 GitLab 上。 GoLand 提供与这两个平台的集成。 详细信息请参阅 管理托管在 GitHub 上的项目 和 管理托管在 GitLab 上的项目。
在本教程中,我们将在 GitHub 上发布我们的 项目。
在主菜单中,进入 .
在打开的对话框中,您可以更改存储库名称(默认情况下与 项目 名称相同)、远程名称(默认情况下为 origin),选择存储库类型(公开或私有),并在需要时添加一些描述。
如果您尚未在 GitHub 上注册,请点击 添加帐户 ,然后点击 通过 GitHub 登录。

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

点击通知中的链接以在 GitHub 上打开仓库。
步骤 5。 创建一个新分支
您可能需要创建一个独立的分支,例如,当您在开发新功能且不希望在测试之前让更改进入主分支时。
按 Ctrl+T 拉取当前分支的最新版本。
在打开的对话框中,指定分支名称(例如
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:

单击 推送。
步骤 8。 合并分支并解决冲突
您可以通过多种方式将更改从一个分支应用到另一个分支,例如合并和变基分支、挑拣提交、应用单独的更改或文件。 所有这些方法都在 合并、变基或挑拣以应用更改 中有详细说明。
在本教程中,您将学习如何合并两个分支。 我们还将有意制造一次合并冲突,以学习如何使用 GoLand 的合并工具轻松解决合并冲突。
合并分支
在 Git 分支 弹出窗口中选择
main分支,然后点击 检出。在 第 6 步 中,我们在
new_feature分支修改了README.md文件。 现在,让我们在main分支中再次更新文本,以模拟合并冲突,例如:#Tutorial This is a test project where you will learn how to work with the most popular Git operations.按照 第 7 步 中的说明提交并推送更改。
在 Git 分支 弹出窗口的 本地 节点中,选择
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.
单击 应用。
通过按 Ctrl+Shift+K 或从主菜单中选择 将更改推送到远程仓库。
您可以在 Git 工具窗口 Alt+9 的 日志 选项卡中查看所有分支中的提交:

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

在此选项卡上,您可以查看影响该文件的所有提交,并找出您感兴趣的更改是在哪个提交中添加的。
在编辑器中,选择您要查看历史记录的代码片段,右键点击所选内容,然后选择 。 选定内容的历史记录 窗口将打开:

在这里,您可以审查影响您所选代码的所有提交。
在 调查 Git 仓库中的更改 中了解更多探索 Git 历史记录的方法。
下一步
如果您在本教程中没有找到如何执行某些特定的 Git 任务,请参阅 Git 指南——其中介绍了 IDE 中提供的所有 Git 操作。
如果您的 项目 未受 Git 管理,您仍可使用 本地历史记录 功能跟踪并管理本地更改、回滚到特定文件状态、恢复已删除文件等。
