获取更改的选项
与远程存储库交互时,这些命令非常有用。 clone 和 fetch 将远程代码从存储库的远程 URL 下载到本地计算机,merge 用于将其他人的工作与你的工作合并在一起,而 pull 是 fetch 和 merge 的组合。
克隆仓库
若要获取其他用户存储库的完整副本,请使用 git clone,如下所示:
$ git clone https://github.com/USERNAME/REPOSITORY.git
# Clones a repository to your computer
克隆存储库时,可以从多个不同的 URL 中进行选择。 登录到 GitHub 后,单击 “Code”**** 时,这些 URL 会在仓库的主页上提供。

运行 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 fetch 和 git merge 的便捷方式:
$ git pull REMOTE-NAME BRANCH-NAME
# Grabs online updates and merges them with your local work
由于 pull 会对检索到的更改执行合并,因此应确保在运行 pull 命令之前提交本地工作。 如果遇到无法解决的合并冲突,或者如果你决定退出合并,则可以使用 git merge --abort 将分支返回到拉取之前的位置。