设置 Git 版本库
当您 克隆一个现有 Git 版本库或 将现有项目纳入 Git 版本控制时,GoLand 会自动检测您的计算机上是否已安装 Git。 如果 IDE 无法找到 Git 可执行文件,则会建议您下载它。
GoLand 支持来自 Windows Subsystem for Linux 2(WSL2)的 Git,该功能在 Windows 10 version 2004 中提供。
如果 Windows 上未安装 Git,GoLand 会在 WSL 中查找并从中使用 Git。 此外,在项目通过 \\wsl$ 路径打开时,GoLand 会自动切换为使用来自 WSL 的 Git。
如果需要手动配置 GoLand 使用 WSL 中的 Git,请转到 版本控制 | Git 设置页面 Ctrl+Alt+S ,然后在 Git 可执行文件路径 字段中点击 浏览 图标,通过 \wsl$ 路径选择来自 WSL 的 Git,例如 \\wsl$\debian\usr\bin\git。
从远程主机检出项目(git clone)
GoLand 允许您检出(在 Git 中称为 clone )一个已有仓库,并基于下载的数据创建新的项目。
要开始克隆 Git 版本库,请执行以下操作之一:
如果已启用版本控制集成,请转到 。
如果尚未启用版本控制集成,请转到 。
或者,转到 。
如果当前没有打开项目,请在 欢迎 屏幕上点击 克隆仓库。
在 克隆版本库 对话框中,指定要克隆的远程版本库的 URL,或在左侧选择一个 VCS 托管服务。
如果您已登录所选托管服务,补全功能会为您建议可克隆的版本库列表。
如果希望执行具有有限历史记录的 shallow clone ,请选择 浅克隆并截断历史为 复选框,并指定要克隆的提交次数。
您可以稍后在主菜单中选择 Git | 取消浅克隆 仓库 来获取剩余的历史记录。
点击 克隆。 如果希望基于已克隆的源创建项目,请在确认对话框中点击 是。 Git 根目录映射将自动设置为项目根目录。
如果项目包含 submodules ,它们也会被克隆,并自动注册为项目根目录。
在 是否信任并打开项目“<project_name>”? 项目安全性对话框 中,选择打开项目的方式: 信任项目 或 在安全模式下预览。
将现有项目纳入 Git 版本控制
您可以基于现有项目源创建本地 Git 版本库。
将整个 项目 关联到单个 Git 版本库
打开要纳入 Git 的 项目。
按下 Alt+` 打开 VCS 操作弹出窗口 并选择 启用版本控制集成。
或者,转到 。
选择 Git 作为版本控制系统,并点击 确定。
整个项目将关联到单个 Git 目录,因此无需单独将每个文件添加到 Git 目录中。
启用 VCS 集成后,GoLand 会询问您是否希望通过 VCS 共享项目设置文件。 您可以选择 始终添加 将项目设置与使用 GoLand 的其他版本库用户同步。

将项目中的不同目录关联到不同的 Git 版本库
打开要纳入 Git 的目录。
在主菜单中,转到 。
在打开的对话框中,指定要创建新 Git 版本库的目录。
Git 不支持外部路径,因此如果选择了项目根目录之外的目录,请确保该目录也包含项目根目录。
如果在 项目 结构中创建多个 Git 版本库,请对每个目录重复上述步骤。
在为项目 初始化 Git 版本库之后,须将项目文件添加到版本库中。
将文件添加到本地版本库
在 提交 工具窗口 Alt+0 中,展开 未版本控制的文件 节点。
选择要添加到 Git 的文件或整个变更列表,然后按 Ctrl+Alt+A 或在上下文菜单中选择 添加到 VCS。
您还可以在 项目 工具窗口 Alt+1 中将文件添加到本地 Git 版本库:选择要添加的文件,然后按 Ctrl+Alt+A 或在上下文菜单中选择 Git | 添加。
启用 Git 集成后,即使文件是在 GoLand 外部创建的,GoLand 也会建议将每个新建文件添加到 Git。 您可以在 版本控制 | 确认 设置页面 Ctrl+Alt+S 中更改此行为。 如果希望某些文件始终为未版本控制状态,可以 忽略它们。
将文件排除在版本控制之外(忽略)
有时,您可能需要保留某些文件未加入版本控制。 这些文件可能是 VCS 管理文件、实用工具生成的构件、备份副本等。 您可以通过 GoLand 忽略这些文件,IDE 将不会建议将其添加到 Git,并会将其标记为已忽略。
您只能忽略 unversioned 文件,也就是说,您可以在 未版本控制的文件 变更列表中看到的文件。 如果某个文件已 added to Git 但尚未 committed ,您可以在 提交 窗口中右键点击它,并选择 回滚。
Git 允许您在两种配置文件中列出忽略文件的模式:
.git/info/exclude 文件。
该文件中列出的模式仅适用于仓库的本地副本。
初始化或检出 Git 仓库时会自动创建此文件。
位于 VCS 根目录及其子目录中的一个或多个 .gitignore 文件。
这些文件被检入到仓库中,因此其中的忽略模式可供整个团队使用。 因此,这是存储忽略文件模式最常用的位置。
如果 VCS 根目录中没有 .gitignore 文件,您可以在 项目 工具窗口中右键点击任意位置,选择 ,并在 新建文件 对话框中键入 .gitignore 。
将文件添加到 .gitignore 或 .git/info/exclude
决定使用哪种 Git 配置文件类型 来忽略文件。 如果不确定,请使用 .gitignore 。
在 提交 窗口或 项目 工具窗口 Alt+1 中定位要忽略的未版本控制的文件或文件夹。 这些视图中的文件颜色 可帮助您识别文件状态。
右键点击所选项并选择 Git | 添加到 .gitignore 或 Git | 添加到 .git/info/exclude。
这些视图中的文件颜色 可帮助您识别文件状态。
如果您需要按特定模式或类型排除文件,可以直接编辑 .gitignore 或 .git/info/exclude 文件。 请参阅 .gitignore patterns format。
添加远程版本库
如果您是基于本地源代码 创建了 Git 仓库 ,则需要添加远程仓库,以便协作进行 Git 项目开发,并避免将整个代码库仅存储在本地所带来的风险。 当您需要分享工作成果时,会将更改 push 到远程仓库;当您需要整合其他贡献者的更改时,会从远程仓库 pull 数据,以同步到本地仓库版本中。
如果您已 克隆了远程 Git 仓库 ,例如来自 GitHub ,则远程仓库会自动配置,当需要与其 sync 时无需手动指定。 Git 默认为您所克隆的远程仓库命名为 origin。
定义远程版本库
在任意 Git 托管平台(如 Bitbucket、 GitHub 或 GitLab )上创建一个空仓库。 您可以直接在 GoLand 中创建 GitHub 或 GitLab 上的仓库:请参阅 在 GitHub 上共享项目 和 在 GitLab 上共享项目。
准备好 push 提交内容时,调用 推送 对话框,方法是在主菜单中选择 ,或按 Ctrl+Shift+K。
如果尚未添加任何远程仓库,系统会显示 定义远程 链接来代替远程名称。 点击该链接以添加远程仓库。
在打开的对话框中,指定远程名称及其托管的 URL。
选择 提取远程 选项,还可立即 fetch 分支列表和提交历史。
添加第二个远程版本库
在某些情况下,您还需要添加第二个远程仓库。 例如,若您克隆了一个无写入权限的仓库,并打算将更改 push 到该项目的个人 fork ,这种情况可能会需要。 另一种常见情况是,您克隆了自己的仓库,而该仓库是其他人的项目 fork,您需要与原始项目同步并从中获取更改。
在主菜单中,前往 。 将打开 Git 远程 对话框。
点击工具栏上的 添加
按钮,或按下 Alt+Insert。
在打开的对话框中,指定远程名称和 URL,然后点击 确定。
要编辑远程设置(例如,更改已克隆项目的原始仓库名称),请在 Git 日志工具窗口的分支面板 中右键点击远程分支,并在上下文菜单中选择 编辑远程。
您还可以通过点击远程仓库名称,在 推送对话框 中编辑远程设置。
要移除不再有效的代码库,请在 Git 日志工具窗口的 Branches 窗格中右键点击它,然后从上下文菜单中选择 移除远程。
通过此视频了解更多信息:
为 Git 远程版本库设置密码
每次与远程 Git 代码库交互时(例如在 pull、 update 或 push 操作期间),都需要进行授权。 您可以 配置 GoLand 记住您的密码 ,这样每次需要授权时就无需再输入凭据。
配置密码策略
在 设置 对话框 Ctrl+Alt+S 中,在左侧选择 外观与行为 | 系统设置 | 密码。
选择 GoLand 处理 Git 远程代码库密码的方式:
原生 Keychain 中 :选择此选项以使用系统的 Keychain 来存储您的密码。 此设置仅适用于 macOS 和 Linux。
在 KeePass 中 :选择此选项以使用 KeePass 密码管理器 来存储您的密码。 使用 KeePass 密码管理器 时,将使用主密码来访问存储各个密码的文件。 一旦 GoLand 记住了您的密码,除非需要访问密码数据库,否则不会再次请求输入密码。 请输入用于访问 c.kdbx 文件的密码,该密码将保存在 主密码 字段中。
您可以在 数据库 字段中更改 c.kdbx 文件的默认位置。
要导入 c.kdbx 文件,请点击
,并从下拉菜单中选择 导入 ,或点击 并指定包含密码的本地文件路径。
如果希望从数据库中移除已有的密码,请选择 清除。
不保存,重启后忘记密码 :如果希望在关闭 GoLand 后重置密码,请选择此选项。