ChatGPT解决这个技术问题 Extra ChatGPT

使用来自 GitHub 存储库的更改更新本地存储库

我已经从 GitHub 本地检查了一个项目,并且该远程存储库已经对其进行了更改。使用最新更改更新我的本地副本的正确命令是什么?

值得注意的是,github 已经为使用 git 和 github 制作了一组非常有用且有用的指南。当我第一次转向 git 时,我发现它们非常宝贵。 help.github.com

K
Kevin Ford The Submariner

大概:

是:git pull origin master

现在: git pull origin main


它抱怨说:“你要求从远程'origin'拉,但没有指定一个分支。因为这不是你当前分支的默认配置远程,你必须在命令行上指定一个分支。”所以我尝试了“$ git pull origin master”,效果很好。
git pull 起源大师
我删除了一些文件,但它没有再次带来它们,知道吗?
我们在运行它之前做一个 git commit 吗?每次我运行这个命令时,我都会得到 18347213846 个我什至没有碰过的修改文件!!!
我刚刚了解到拉新的远程存储库分支不会在本地创建该名称的分支,而是将该远程分支拉到碰巧签出的任何本地分支中。我不确定如何撤消这个放弃和重新克隆存储库的方法。无论如何,本地分支似乎独立于远程分支,并且在拉取之前应始终确保您位于预期的本地分支中。
w
waxwing

这应该适用于每个默认回购:

git pull origin master

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

git pull origin my_default_branch_name

并不真地。致命:找不到远程参考主机
@Eijkhout probablt 在您的回购案例中没有主分支,并且其他一些分支设置为默认值
G
Gareth
git fetch [remotename]

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

git pull

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


如果您使用 git fetch 方法,您还需要使用 git fetch -t 获取标签。如果您对更改 (git log HEAD..FETCH_HEAD) 感到满意,则可以将它们与 git merge FETCH_HEAD 合并。
J
Joe McMahon

这个问题非常笼统,我会做一些假设来简化它。我们假设您想要更新您的 master 分支。

如果您没有在本地进行任何更改,您可以使用 git pull 取消任何新提交并将它们添加到您的 master

git pull origin master

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

git pull --rebase origin master

即使您没有进行更改,git pull --rebase 也可以使用,这可能是您最好的选择。


变基,变基的危险:atlassian.com/git/tutorials/rewriting-history/git-rebase。 “了解变基的危险”的第 2 和第 3 段真的让我怀念 SVN 的命令集。
P
Peter Mortensen

使用已经设置的原始主机,您只需使用以下命令 -

git pull "https://github.com/yourUserName/yourRepo.git"

H
Hitesh Sahu

完整的工作流程,用于签出分支并从 master 中提取更改

拉取所有远程分支

git pull --all

立即列出所有分支

git 分支 -a

下载你的分支

git checkout -b <从上面的分支列表中复制的功能分支名称>

显示当前分支。必须在前面显示带有 * 的 <feature branch>

git 分支

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

git pull 起源大师

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

git pull origin <功能分支>


c
christok

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

git pull origin main

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


无论 GitHub 的策略如何更改,main 可能都不是 GitHub 默认分支。用户可以指定默认分支名称。如果您的目标是从 GitHub 默认分支中提取,则无需指定分支...主、主或其他。 “git pull”将作用于默认远程和默认分支。
D
Daisy

Git Clone 之后,如果想获取远程分支使用

git fetch --all

然后结帐到您想要的分支

git checkout the-branch-you-need

A
Anurag verma

使用它来使用远程仓库(如 Gitlab、Github 等)中的更新后的本地仓库来更新本地仓库。

git pull origin master

这个确切的答案已经多次提供。除非您有新方法,否则请对现有答案进行投票,而不是添加新答案。