【问题标题】:What's the difference between putting Origin and not putting in using Git?使用 Origin 和不使用 Git 有什么区别?
【发布时间】:2023-04-04 11:15:01
【问题描述】:

希望你一切顺利!

其实,我想知道将 Origin 使用 Git 放在命令中和不放在命令中的区别。

例如:

git pull origin master git pull master git pull一样吗? 为什么

非常感谢您的回复。

【问题讨论】:

  • 不确定git pull master 做了什么...pull 通常不用于本地操作。请改用merge。另外,您可以使用remotes/origin/branch_name,它指向您对分支branch_name 拥有的本地引用,但是该分支的HEAD 可以处于与远程@ 不同的状态987654330@。 Git 充满了诡计!
  • 另一个有趣的帖子也可以帮助理解:stackoverflow.com/questions/33402589/…
  • 好的,非常感谢

标签: git git-pull


【解决方案1】:

git pull origin master 告诉 git 从名为origin 的远程的master 分支中提取。

只执行git pull 将从默认远程的所有分支中提取更改,即origingit pull 默认等同于git pull origin

当从任何签出的分支使用git pull 时,您首先需要告诉 git 您要从哪个 remote 以及哪个 branch 中提取(同样,默认情况下远程是origin)。

在 git 的术语中,它被称为为您本地签出的分支设置远程跟踪分支,您可以通过运行以下命令来完成,

git branch --set-upstream-to=origin/master

考虑到你当前签出的分支是master,那么上面的命令告诉git将本地的master分支绑定到远程的master分支

一旦你设置了本地 master(或任何其他分支)分支来跟踪来自 origin 的远程分支 master,然后你可以只执行 git pull 并且 git 会足够聪明地理解它有从origin/master 获取更改并合并到本地的master

您还可以将设置远程跟踪分支和从跟踪分支中提取更改的任务合并到一个命令中,

git pull --set-upstream origin master

git pull -u origin master

您可以随时将origin 替换为您感兴趣的任何其他遥控器,同样将master 替换为任何其他分支。 Origin 只是 git 为远程提供默认名称的方式,它通常指向您克隆的原始仓库。

您可以通过以下方式检查配置的遥控器,

git remote -v

您还提到了git pull master。这不是一个有效的命令。 git pull 命令的一般语法是:git pull [<options>] [<repository> [<refspec>…​]]

【讨论】:

  • 非常感谢您的解释!
【解决方案2】:

origin 是您从中提取的遥控器。 master 是分支。

如果省略远程和分支,git 使用默认值。您可以使用 git branch -avv 检查每个分支的默认值。

git pull master 不是有效命令,除非 master 是远程命令。

【讨论】:

  • 其实我把分支main改成了master
猜你喜欢
  • 2011-02-10
  • 2012-09-09
  • 1970-01-01
  • 2021-08-03
  • 2023-03-04
  • 2017-08-19
  • 2018-04-11
  • 2017-09-12
  • 2015-07-03
相关资源
最近更新 更多