与远程 Git 仓库同步(获取、拉取、更新)
在 推送更改到上游以共享您的工作成果之前,您需要与远程仓库同步,以确保您的项目本地副本是最新的。 您可以通过以下方式之一实现同步: 获取更改、 拉取更改或 更新项目。
Git 分支弹出窗口显示尚未获取的传入提交数量(分支名称旁的蓝色箭头图标 )以及传出的提交数量(分支名称旁的绿色箭头图标
)。

获取更改
当从上游 获取更改时,将下载自上次与远程仓库同步以来提交的所有新数据到您的本地副本。 这些新数据不会集成到您的本地文件中,也不会对代码作出修改。
获取的更改会作为远程分支存储,使您在 合并到文件前可以先进行查看。 由于 获取不会影响您的本地开发环境,因此这是安全地更新远程仓库所有更改的方式。
从上游获取更改有两种方式:
在主菜单中选择 Git | 获取。
或者,打开 分支 弹出窗口并点击右上角的
。

观看此视频以更清晰地了解 IDE 中如何执行获取操作。
更新分支
如果需要将特定分支与其远程跟踪分支同步,请使用 更新。 这是一个便捷的快捷方式,可用于 获取并随后将更改应用于所选分支。
在 分支 弹出窗口或 分支 工具窗口的 版本控制 面板中,选择分支并从上下文菜单中选择 更新。
拉取更改
如果您需要从另一个分支而非其远程跟踪分支获取当前分支的更改,请使用 拉取。 当 拉取时,不仅会下载新数据,还会将其集成到项目的本地工作副本中。
在主菜单中,转到 。 将打开 拉取更改 对话框:

如果项目是多仓库项目,将显示一个下拉列表,允许您选择仓库。
如果为项目定义了多个远程仓库,请从列表中选择一个远程仓库(默认是
origin)。选择要从其拉取更改的分支,以应用于当前签出的分支。 默认选择的是当前本地分支所跟踪的远程分支。 如果指定了其他分支,GoLand 将记住您的选择,并在今后默认显示该分支。
如果需要使用选项拉取,点击 修改选项 并从下列选项中选择:
--ff-only:仅当可以快进时才会进行合并。--no-ff:始终会创建合并提交,即使该合并可以通过快进解决。--squash:将在当前分支之上创建一个包含所有拉取更改的单一提交。--no-commit:将执行合并,但不会创建合并提交,以便您在提交前检查合并结果。--no-verify:执行合并时将跳过默认运行的预合并和提交信息钩子。
有关
pull选项的更多信息,请参阅 https://git-scm.com/docs/git-pull。点击 拉取。
更新项目
如果项目包含多个项目根目录,或希望每次与远程仓库同步时从所有分支获取更改,则 更新项目可能更为便捷。
执行 更新操作时,GoLand 会从所有项目根目录和分支 获取更改,并将跟踪的远程分支 合并到您的本地副本中(相当于 拉取)。
在主菜单中,转到 或按 Ctrl+T。 将打开 更新项目 对话框。
选择更新类型(该策略适用于所有受 Git 版本控制的根目录):
如果您选择日后不再显示 更新项目 对话框,但又希望稍后修改默认更新策略,请转到 版本控制 | 确认 设置页面 Ctrl+Alt+S ,在 更新前显示选项 下选择 更新 ,然后在下次执行更新时修改更新策略。
更新操作完成后,会在 Git 工具窗口 Alt+9 中添加 Update Info 选项卡。 其中列出了自上次与远程同步以来的所有提交,并允许您以与 日志选项卡 中相同的方式查看更改。