跳至主要内容

从远程仓库获取更改

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

获取更改的选项

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

克隆仓库

要获取其他用户仓库的完整副本,请使用如下的 git clone

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

克隆仓库时,你可以选择多种不同的 URL。登录 GitHub 后,这些 URL 可在仓库主页上点击 Code 时获取。

Screenshot of the main page of a repository. A green "Code" button is outlined in 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 将分支恢复到拉取之前的状态。

延伸阅读

© . This site is unofficial and not affiliated with GitHub, Inc.