使用Github存储库中的更改更新本地存储库

Tom*_*Tom 525 git github

我从github本地检查了一个项目,远程仓库已经对它进行了更改.使用最新更改更新本地副本的正确命令是什么?

Jam*_*aly 750

大概:

git pull origin master
Run Code Online (Sandbox Code Playgroud)

  • 它抱怨说:"你要求从远程'origin'中提取,但没有指定分支.因为这不是当前分支的默认配置远程,所以必须在命令行中指定分支." 所以我尝试了"$ git pull origin master",它运行良好. (27认同)
  • git pull origin master (8认同)
  • 我刚刚学会了拉动新的远程存储库分支不会在本地创建该名称的分支的困难方法,而是将该远程分支拉入到任何本地分支中检出.我不知道如何解决这个缺乏放弃和重新克隆存储库的问题.在任何情况下,似乎本地分支独立于远程分支,并且应该始终确保您在拉动之前处于预期的本地分支中. (5认同)
  • 2021 年更新:`git pull origin main` 许多存储库正在远离 master - Github 存储库的默认值现在是 `main` (3认同)
  • 我们在运行之前做一个 git commit 吗?每次我运行这个命令时,我都会得到 18347213846 个我什至没有碰过的修改过的文件!!! (2认同)

And*_*ann 80

这适用于每个默认仓库:

git pull origin master
Run Code Online (Sandbox Code Playgroud)

如果默认分支不同master,则需要指定分支名称:

git pull origin my_default_branch_name
Run Code Online (Sandbox Code Playgroud)

  • 并不是的.致命:找不到远程ref master (2认同)
  • @Eijkhout probablt 在您的 repo 案例中没有 master 分支,并且其他一些分支被设置为默认值 (2认同)

Gar*_*eth 61

git fetch [remotename]
Run Code Online (Sandbox Code Playgroud)

但是,您需要将任何更改合并到本地分支中.如果你在跟踪Github上的远程分支的分支上,那么

git pull
Run Code Online (Sandbox Code Playgroud)

将首先进行提取,然后在跟踪的分支中合并

  • 如果你使用的是`git fetch`方法,你还需要使用`git fetch -t`来获取标签.如果您对更改(`git log HEAD..FETCH_HEAD`)感到满意,则可以将它们与`git merge FETCH_HEAD`合并. (5认同)

小智 12

这个问题很一般,我会做一些假设来简化它.我们假设您要更新您的master分支机构.

如果您尚未在本地进行任何更改,则可以使用git pull以删除任何新提交并将其添加到您的master.

git pull origin master
Run Code Online (Sandbox Code Playgroud)

如果您进行了更改,并且希望避免添加新的合并提交,请使用git pull --rebase.

git pull --rebase origin master
Run Code Online (Sandbox Code Playgroud)

git pull --rebase 即使你没有做出改变也会工作,这可能是你最好的电话.

  • 变基以及变基的危险:https://www.atlassian.com/git/tutorials/rewriting-history/git-rebase。《理解rebase的危险》的第2和第3段确实让我怀念SVN的命令集。 (3认同)

Hit*_*ahu 12

用于检查分支并从主控中提取更改的完整工作流程

拉取所有远程分支

git pull --全部

立即列出所有分支机构

git分支-a

下载你的分支

git 结帐-b<feature branch name copied from list of branches above>

显示当前分支。<feature branch>前面必须显示*

git分支

检出从主分支到当前分支的更改

git pull origin 大师

或者将任何其他分支检出<feature branch>到当前分支

git拉原点 <feature-branch>


小智 8

已经设置了origin master,你只需要使用下面的命令 - git pull" https://github.com/yourUserName/yourRepo.git "


chr*_*tok 6

要从默认分支中提取,新存储库应使用以下命令:

git pull origin main
Run Code Online (Sandbox Code Playgroud)

Github 在 2020 年将默认分支的命名约定从 master 更改为 main。https ://github.com/github/renaming