为什么我需要 git merge origin/master 中的“master”?

2023-12-09

使用 git 并且您希望从服务器获取更改时的约定是:

git fetch

git merge origin/master

我知道还有git pull,但我的具体问题是关于语法的origin/master。什么是master部分做什么?如果我只是这样做git merge origin(没有master)似乎有效。我知道master是一个分支,但如果我正在跟踪远程的多个分支,正常用例是否会合并所有分支?


论据merge已解析为提交 ID。这意味着规则中git 修订版被应用。一般来说,origin/name解析为“远程分支”之一git fetch and git push保持每次获取和推送的最新状态。

“远程分支”,也称为“远程跟踪分支”,只是一个类似分支的标签,其“全名”以refs/remotes/。远程名称的所有名称origin are in refs/remotes/origin/。正常运行时git fetch咨询一些远程(例如origin) git 存储库并询问它:“嘿,你那里有哪些分支,它们的 SHA-1 值是多少?”当它得到答案时,它将它们存储在本地yourgit 存储库:refs/remotes/origin/master, refs/remotes/origin/devel, 等等。这样你就可以知道你的 git 上次有机会同步时“那边”的情况是什么样的。

这些不应与 git 所谓的“跟踪分支”(或“本地跟踪分支”)混淆。本地分支机构是“全名”开头的标签refs/heads/。如果它们具有与其相关的“上游”信息,则它们被视为“跟踪”。您可以在第一次创建分支时放入上游信息 - 这通常是与远程分支具有“相同”名称的本地分支的情况,例如master vs origin/master—或者您可以稍后设置(或更改)它git branch --set-upstream-to.

All of these are different from the git pull syntax: git pull origin master is rather different, and much older, predating the whole idea of "remote-tracking branches" entirely.1 This sort of accidental resemblance, as it were, I think is the source of a whole lot of confusion (I know I found it confusing, years ago).


1Specifically, you used to (and still can) git pull from a URL rather than a "remote" name. That went (and still goes) over to the other git repository as usual, and gets a list of at least some of its branches (sometimes just the one of interest). But, because those are its branches, not yours, they are then recorded in a file called FETCH_HEAD. So at this point, it will have brought master over from "over there", but put it into FETCH_HEAD rather than a remote-tracking branch—with a raw URL, you don't have a remote name, so there's no way to name the remote-tracking branch: there's no origin with which to construct the prefix refs/remotes/origin. The master argument to git-pull then means: "go search through FETCH_HEAD to find their master branch."

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么我需要 git merge origin/master 中的“master”? 的相关文章

  • 如何修复树与树之间的 Git 错误断开链接?

    我的事务被中断 当我再次尝试时 我遇到了空或损坏的对象错误 在另一个问题之后 我删除了所有空文件 当我运行时 git fsck full 我收到这个错误 Checking object directories 100 256 256 don
  • DVCS命令的统一

    当处理多个 开源 项目时 多个版本控制系统开始出现问题 虽然它们共享共同的操作 但我经常在输入时犯错误hg add反而git add 我记得前段时间看到过一个项目 通过提供基本命令以统一的方式访问不同的源代码控制软件提交 ci add等在外
  • Git 不断提示我输入密码

    我已经使用 Git 一段时间了 但是不断要求输入密码开始让我感到厌烦 我使用的是 Mac OS X 和 GitHub 并且按照 GitHub 的说明设置了 Git 和我的 SSH 密钥设置 Git 页面 http help github c
  • 忽略 git 中的本地配置文件

    Rails 应用程序中有一些本地文件 属于我们存储库的一部分 我希望 git 忽略它们 基本上 我希望 git 忽略我对 config environments 目录和 config application rb 文件中的任何内容所做的所有
  • refname 不明确且拉取失败

    我运行了以下命令 因为我想将生产分支移回而不必先签出 git branch f production HEAD 1 现在 当我检查生产时 我收到以下警告 warning refname production is ambiguous 然后我
  • git diff 在尖括号中显示 unicode 符号

    我有一个带有 unicode 符号 俄语文本 的文件 当我修复一些拼写错误时 我使用git diff color words 看看我所做的改变 如果是 unicode 西里尔文 符号 尖括号会造成一些混乱 如下所示 cat p1 cat p
  • git pull,忽略深度,如何不拉取整个历史记录?

    我们有一个巨大的多 GB git 存储库 主要是二进制对象 克隆需要几天时间 实际的主分支 没有历史记录 只有大约 20MB 所以我想 深度为 1 的 git 克隆就是解决办法 然而 现在我需要将某人的更新拉到主服务器 我们没有分支 当我拉
  • 在 github 上的 fork 中跟踪上游的最佳实践

    摘要 对于要维护一组本地更改的上游存储库 处理长期运行跟踪的最佳实践是什么 我想让 github 上的 fork 与上游保持同步 但仍然允许清晰跟踪 fork 特有的更改 对于本次讨论 假设upstream指向主项目存储库并且origin指
  • 如何将更改移出主分支

    基本问题 但这一直发生在我身上 进行更改working branch 切换到master git merge working branch git push cap deploy 到舞台 泡一杯新茶 然后我回来思考其他事情并开始做出一些改变
  • 有没有办法让 git flow 显示它在幕后执行的命令?

    有什么方法可以让 git flow 提前告诉我当我执行 flow 命令时它将执行的确切 git 命令吗 或者告诉我它是东吗 我只能看到输出和摘要吗 你可以使用Git的GIT TRACE 环境变量 http git scm com docs
  • git Push over sshfs 失败,并显示“关闭 sha1 文件时出错:错误的文件描述符”

    我们使用 sshfs 通过 SSH 安装文件系统 并将其用作 git 存储库协作的远程存储 Mac OSX 10 6 6 到 RHEL 3 服务器 SSHFS 版本 2 2 MacFUSE SSHFS 2 2 0 MacFUSE 库版本 F
  • `git ls-files -s` 输出中不同字段的含义是什么?

    在 Git 中 命令返回的典型结果行git ls files s好像 100755 be2c2e9b0966253096472d4b482c458bc892e493 0 gitignore 这些字段是什么意思 不用再犹豫了git ls fi
  • Git:发送电子邮件而不提交

    我有一个项目 我做了更改 并想使用 git send email 功能将它们发送给另一个用户 我发现它可以通过发送补丁来工作 由git format patch每次提交 是否可以只发送diff的 我不想先提交 然后发送补丁 是否有gitfo
  • 在 Pandas 中,如何从基于另一个数据框的数据框中删除行?

    我有 2 个数据框 一个名为 USERS 另一个名为 EXCLUDE 他们都有一个名为 电子邮件 的字段 基本上 我想删除 USERS 中包含 EXCLUDE 中包含电子邮件的每一行 我该怎么做 您可以使用boolean indexing
  • 如何合并两个连续的 git 存储库

    我有一个相当独特的情况 我有一个名为 Project1 的存储库 我在其中工作了一些时间 几个月 一年后 我创建了存储库 Project1 Again 从 Project1 停止的地方开始 现在 我希望修订历史记录是连续的 因此我希望它们合
  • apt-get 无法在 ubuntu dockerfile 中工作

    我对 docker 相当陌生 正在尝试通过编写自己的镜像来学习 并且目前正在阅读 Docker 的实际操作 ISBN 1633430235 在我自己的代码和书中的示例 第 146 页 中 我想通过 dockerfile 安装 git My
  • git 日志历史记录图,每次提交一行,彩色,带有日期

    我需要的格式如下 git log decorate graph oneline date order 但我也需要它 包含日期 短 具有相同的颜色 I tried git log decorate graph oneline date ord
  • 如何使用 R 将每个文件的数据添加为附加行,从而将不同的 .csv 文件合并为一个完整的文件?

    我有几个不同的文件夹 它们都包含一个 csv 文件 所有这些 csv 文件都有一个单独的列 其中包含实验的一种条件的数据 我想以将每个文件的数据添加为新列的方式合并这些 csv 文件 目前 它看起来像这样 C1 csv 102 106 15
  • Rails/Ruby 合并两个具有相同键、不同值的哈希值

    我有两个想要合并的哈希值 它们看起来像这样 Hello gt 3 Hi gt 43 Hola gt 43 第二个哈希看起来像 Hello gt 4 Hi gt 2 Bonjour gt 2 我想合并这两个哈希数组 使结果看起来像 Hello
  • 在 Haskell 中合并两个列表

    无法弄清楚如何合并两个列表通过以下方式在哈斯克尔 INPUT 1 2 3 4 5 11 12 13 14 OUTPUT 1 11 2 12 3 13 4 14 5 我想提出一个更懒的合并版本 merge ys ys merge x xs y

随机推荐

  • 如何强制水平方向?

    我想做以下事情 ViewControllerA 不应进入水平方向 ViewControllerA 推送 ViewControllerB ViewControllerB 应该进入水平方向 不知道要设置什么才能实现这一点 In each UIV
  • X11中的截图

    使用 Xlib 库可以使用哪些函数来截取 X11 桌面的屏幕截图 我更喜欢一种比获取单个像素更有效的方法 Thanks X11中截屏的 标准工具是使用 xwd root gt myscreen xwd 然后 转换为 pnm xwd2pnm
  • 正则表达式 字符串内只有一个点,不在开头或结尾

    我怎样才能写一个正则表达式 in javascript只允许用户这样写 abc def abc def or abc 所以基本上匹配只包含字母的模式 仅限小写字母 a z and a or 但不匹配 or 在字符串的开头或结尾或多次 只有一
  • 渲染设计编辑密码表单

    我试图在另一个视图中呈现设计编辑密码表单 因为我不想重复编辑密码逻辑 我尝试了以下操作 生成设计视图后 渲染上的许多其他变化似乎都给了我同样的错误 foo foo 中的 ActionView MissingTemplate 缺少部分设备 密
  • .NET 枚举允许在最后一个字段中使用逗号

    为什么这个 NET 枚举允许在最后一个字段中包含逗号 这有什么特殊的意义吗 FlagsAttribute public enum DependencyPropertyOptions byte Default 1 ReadOnly 2 Opt
  • 运行 java -jar 时包含外部 jar

    根据我的阅读 当您执行如下命令时 java jar foo jar 然后主类路径将被忽略 类路径将从清单文件中获取 此外 在命令行上声明的类路径也会被忽略 所以在 java classpath usr local jar foobar ja
  • 在 C# 中使用动态 Or 表达式

    我在程序中使用动态过滤器 如下所示 public static IQueryable
  • 如何在 swift 3 中制作单选按钮

    我正在创建一个 Swift iOS 应用程序 其中我必须显示一个接受水平和垂直方式的单选按钮 我在 GitHub 上找到了一个库 它看起来可以解决我的问题 但它只显示水平方向 并排方向 我需要垂直方向 即在另一个单选按钮下方显示一个单选按钮
  • 在 XSD 中我想指定元素只能有空白内容

    以下 XSD 应允许名为 OnlyWhiteSpaceElement 的元素 该元素具有必需的 Name 属性 并且只能包含空白内容
  • KeyListener 的多键检测 (java)

    如何实现 KeyListener 以便我可以创建一个两人游戏系统 其中一个人使用 和 来控制一个角色 而另一个人可以使用方向键而不互相打扰 我现在的方式是 当一个人按住箭头键时 他们的角色会移动 但是当您使用其他玩家的控件时 第一个人的角色
  • python for循环中的负索引[重复]

    这个问题在这里已经有答案了 我在谷歌搜索时发现了这个问题 但无法理解这是怎么发生的 a 0 1 2 3 for a 1 in a print a 1 Result 0 1 2 2 现在如果我再次打印 a 0 1 2 2 另一个类似的例子 设
  • Android 无需 root 即可访问 ARP 表

    最近在做一个Android项目 需要访问ARP表 要求之一是避免任何需要 root 设备的方法 所以 我的问题是 有没有办法在不root设备的情况下访问android中的ARP表 目前我发现大多数方法都使用 proc net arp 来访问
  • 如何在 jquery DataTable 中保持活动页面

    我在 jquery dataTable 上列出了一些数据 并且由 DataTable 插件默认完成分页 我想在处理数据时获取数据表的当前页面 并在处理操作后将该页面设置为活动状态并重新加载数据 看看这个小提琴 您可以看到如何获取当前页面 在
  • 关于如何更改通知接收器中的 setLatestEventInfo 的替代方法

    您好 我在这一点上有库存 其中 setLatesEventInfo 有错误 我知道 setLatestEventInfo 不能在 API 23 及更高版本上运行 有人可以帮助我如何让这段代码运行吗 我的意思是替代方法 功能相同但编码不同 这
  • 具有有效证书的 Spring Boot https 获取 ERR_SSL_VERSION_OR_CIPHER_MISMATCH,自签名工作正常

    我正在运行 Spring Boot 1 4 0 RELEASE 我从 IT 部门获得了有效证书 我使用 IT cert cer 生成了 tomcat keystore jks 文件 keytool keystore tomcat keyst
  • OctoberCMS Builder插件,上传文件并存储在数据库中

    我是新来的十月CMS我正在尝试使用创建一个插件构建器插件其本身十月CMS提供OctoberCMS 构建器插件称为类似 社交链接 一切正常 但我无法理解将文件上传到任何目录并将该名称存储到我的数据库表的特定字段的逻辑 我的表的字段名称是 社交
  • JQPlot放大图表并使用replot功能

    我在用jqplot在我的网站上绘制图表 我想为用户提供通过插入来放大图表的可能性Trigger link如下图 此链接旨在显示带有放大图表的弹出窗口 我发现显示图表div这是隐藏的需要调用replot 在特定情节上发挥作用 我正在使用的代码
  • NUMA:如何检查 C++ 数组分配在 RAM 的哪一部分?

    我有一台带有 2 个 CPU 和 64GB RAM 的服务器 每个 CPU 32GB 我知道每个 CPU 都有自己的 RAM 部分 我们称它们为 RAM1 和 RAM2 我想让我的程序知道它在哪个 RAM RAM1 或 RAM2 上分配数据
  • Github actions - 如何获取每个分支中从 1 开始的内部版本号

    假设我有这些分支 main feature1 feature2 在我的 github 操作中 我需要知道我推送到分支或手动触发该分支上的操作的次数是多少 With github run attempt 每次我按我都会得到号码1 如果我手动重
  • 为什么我需要 git merge origin/master 中的“master”?

    使用 git 并且您希望从服务器获取更改时的约定是 git fetch git merge origin master 我知道还有git pull 但我的具体问题是关于语法的origin master 什么是master部分做什么 如果我只