跳至主要内容

从远程仓库获取更改

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

获取更改的选项

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

克隆仓库

要获取另一个用户的仓库的完整副本,请使用以下命令:git clone

$ 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 将分支恢复到拉取之前的状态。

进一步阅读