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

点击 创建。 新项目将立即在 GoLand 中打开。
您将收到通知,告知已为项目创建了本地 Git 版本库。 此外,还将提供专用的 Git 工具窗口以供使用。

Git 分支 弹出窗口: 管理 Git 分支 并执行基本 Git 操作。
提交 工具窗口(Ctrl+K 或 ): 查看本地更改 并 提交至本地 Git 版本库。
步骤 2。 将文件添加至 Git
启用 Git 集成后,GoLand 会显示哪些文件已被修改、哪些新文件已添加至 Git,以及哪些文件未被 Git 跟踪。
为了了解其工作原理,我们将创建一个简单的 README.md 文件,并添加简要说明后将其添加至 Git。
在 项目 工具窗口中, Alt+1 ,选择项目目录(
gitdemo)。在工具窗口工具栏中点击
,然后从列表中选择 文件。 将文件命名为
README.md。在打开的对话框中,点击 添加 ,以便 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.稍后我们将使用它来学习如何解决合并冲突。
现在新文件已被 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 中,选中两个文件旁边的复选框,并输入提交消息(例如:
更新 README.md)。输入提交消息时,您可以使用项目文件名的自动补全功能 Ctrl+Space:

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

点击 推送。
步骤 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.如 第 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 管理,仍然可以使用 本地历史记录 功能跟踪并管理本地更改、回滚至特定文件状态、恢复已删除的文件等。
