GoLand 2025.2 Help

与远程 Git 仓库同步(获取、拉取、更新)

推送更改到上游以共享您的工作成果之前,您需要与远程仓库同步,以确保您的项目本地副本是最新的。 您可以通过以下方式之一实现同步: 获取更改拉取更改更新项目

Git 分支弹出窗口显示尚未获取的传入提交数量(分支名称旁的蓝色箭头图标 传入提交指示器 )以及传出的提交数量(分支名称旁的绿色箭头图标 传出提交指示器)。

传入提交指示器

获取更改

当从上游 获取更改时,将下载自上次与远程仓库同步以来提交的所有新数据到您的本地副本。 这些新数据不会集成到您的本地文件中,也不会对代码作出修改。

获取的更改会作为远程分支存储,使您在 合并到文件前可以先进行查看。 由于 获取不会影响您的本地开发环境,因此这是安全地更新远程仓库所有更改的方式。

从上游获取更改有两种方式:

  • 在主菜单中选择 Git | 获取

  • 或者,打开 分支 弹出窗口并点击右上角的 获取图标

    分支弹出窗口中的获取图标

观看此视频以更清晰地了解 IDE 中如何执行获取操作。

更新分支

如果需要将特定分支与其远程跟踪分支同步,请使用 更新。 这是一个便捷的快捷方式,可用于 获取并随后将更改应用于所选分支。

  • 分支 弹出窗口或 分支 工具窗口的 版本控制 面板中,选择分支并从上下文菜单中选择 更新

GoLand 将从远程分支 拉取更改,并根据在 设置 | 版本控制 | Git 中选择的更新方式将其 变基合并到本地分支。

拉取更改

如果您需要从另一个分支而非其远程跟踪分支获取当前分支的更改,请使用 拉取。 当 拉取时,不仅会下载新数据,还会将其集成到项目的本地工作副本中。

  1. 在主菜单中,转到 Git | 拉取。 将打开 拉取更改 对话框:

    拉取对话框
  2. 如果项目是多仓库项目,将显示一个下拉列表,允许您选择仓库。

  3. 如果为项目定义了多个远程仓库,请从列表中选择一个远程仓库(默认是 origin)。

  4. 选择要从其拉取更改的分支,以应用于当前签出的分支。 默认选择的是当前本地分支所跟踪的远程分支。 如果指定了其他分支,GoLand 将记住您的选择,并在今后默认显示该分支。

  5. 如果需要使用选项拉取,点击 修改选项 并从下列选项中选择:

    • --rebase :从远程分支 获取更改后,GoLand 会将尚未推送的本地更改 变基到获取的更改之上。

    • --ff-only :仅当可以快进时才会进行合并。

    • --no-ff :始终会创建合并提交,即使该合并可以通过快进解决。

    • --squash :将在当前分支之上创建一个包含所有拉取更改的单一提交。

    • --no-commit :将执行合并,但不会创建合并提交,以便您在提交前检查合并结果。

    • --no-verify :执行合并时将跳过默认运行的预合并和提交信息钩子。

    有关 pull 选项的更多信息,请参阅 https://git-scm.com/docs/git-pull

  6. 点击 拉取

更新项目

如果项目包含多个项目根目录,或希望每次与远程仓库同步时从所有分支获取更改,则 更新项目可能更为便捷。

执行 更新操作时,GoLand 会从所有项目根目录和分支 获取更改,并将跟踪的远程分支 合并到您的本地副本中(相当于 拉取)。

  1. 在主菜单中,转到 Git(G) | 更新项目 或按 Ctrl+T。 将打开 更新项目 对话框。

  2. 选择更新类型(该策略适用于所有受 Git 版本控制的根目录):

    • 将传入更改合并到当前分支 :选择此选项可在更新期间执行 merge。 这相当于依次运行 git fetchgit merge ,或运行 git pull --no-rebase

    • 将当前分支变基到传入更改之上 :选择此选项可在更新期间执行 rebase。 这相当于依次运行 git fetchgit rebase ,或运行 git pull --rebase (所有本地提交将置于更新后的上游 head 之上)。

如果您选择日后不再显示 更新项目 对话框,但又希望稍后修改默认更新策略,请转到 版本控制 | 确认 设置页面 Ctrl+Alt+S ,在 更新前显示选项 下选择 更新 ,然后在下次执行更新时修改更新策略。

更新操作完成后,会在 Git 工具窗口 Alt+9 中添加 Update Info 选项卡。 其中列出了自上次与远程同步以来的所有提交,并允许您以与 日志选项卡 中相同的方式查看更改。

最后修改日期: 2025年 9月 26日