跳到主要内容

从远程仓库获取更改

您可以使用常见的 Git 命令来访问远程仓库。

获取更改的选项

这些命令在与远程仓库交互时非常有用。clonefetch 将远程代码从仓库的远程 URL 下载到您的本地计算机,merge 用于将不同人员的工作与您的工作合并,而 pullfetchmerge 的组合。

克隆仓库

要获取其他用户的完整仓库副本,请使用以下命令:

$ git clone https://github.com/USERNAME/REPOSITORY.git
# Clones a repository to your computer

克隆仓库时,您可以从多个不同的 URL 中选择。登录 GitHub 后,这些 URL 会在仓库的主页上显示,您只需点击 代码

Screenshot of the main page of a repository. A green button, labeled "Code," is outlined in dark orange and expanded to show the HTTPS URL for the repository.

运行 git clone 时,会执行以下操作:

  • 创建一个名为 repo 的新文件夹
  • 将其初始化为 Git 仓库
  • 创建一个名为 origin 的远程仓库,指向您克隆的 URL
  • 下载仓库中的所有文件和提交
  • 检出默认分支

对于远程仓库中的每个分支 foo,在本地仓库中创建一个对应的远程跟踪分支 refs/remotes/origin/foo。通常可以将此类远程跟踪分支名称缩写为 origin/foo

从远程仓库获取更改

使用 git fetch 获取其他人完成的新工作。从仓库获取操作会获取所有新的远程跟踪分支和标签, *不会* 将这些更改合并到您自己的分支中。

如果您已经拥有一个为所需项目设置了远程 URL 的本地仓库,则可以使用终端中的 git fetch *remotename* 获取所有新信息。

$ git fetch REMOTE-NAME
# Fetches updates made to a remote repository

否则,您可以随时添加新的远程仓库,然后获取。有关更多信息,请参阅“管理远程仓库”。

将更改合并到本地分支

合并操作将您的本地更改与其他人做出的更改相结合。

通常,您会将远程跟踪分支(即从远程仓库获取的分支)与您的本地分支合并。

$ git merge REMOTE-NAME/BRANCH-NAME
# Merges updates made online with your local work

从远程仓库拉取更改

git pull 是一个便捷的快捷方式,可以在同一个命令中完成 git fetchgit merge 操作。

$ git pull REMOTE-NAME BRANCH-NAME
# Grabs online updates and merges them with your local work

由于 pull 会对检索到的更改执行合并操作,因此您应确保在运行 pull 命令之前提交您的本地工作。如果您遇到无法解决的合并冲突,或者如果您决定退出合并,可以使用 git merge --abort 将分支恢复到拉取之前的状态。

进一步阅读