Git 推送到 refs/remotes/mine/master

2023-12-04

我正在跟踪一个远程存储库,即我有refs/remotes/joe/master.

我知道希望尽快将乔的更改放入我的存储库中。
我不想使用fetch,因为他犯案时我可能不在电脑前。所以我告诉他:我可能要去购物,所以请将您的更改推送到refs/remotes/joe/master.
我希望他的更改尽快出现在我的存储库中的原因是他在晚上关闭了计算机,因此当我购物回来时我将无法获取他的更改。

我知道乔应该只设置一个裸露的公共存储库,但这是一种开销。

正在推动refs/remotes/joes/master在这种情况下该怎么办?


"保持多个(非裸)Git 存储库同步的最佳/最简单方法”建议使用更新后挂钩来处理此类贡献。

然而,有一个更直接的解决方案:

As The OP zedoo评论,git 上的线程推送到非裸存储库(由 Git 维护者 Junio C Hamano 于 2007 年撰写)详细信息:
(这是一个很好的例子适合推送到非裸仓库的情况)

receive-pack 没有更新HEADreflog 作为其更新实际分支,而不是HEAD.
如果你推到HEAD你应该看到HEAD也有转发条目。

分裂又怎样HEAD当你推送到底层分支时,并且使HEAD非符号引用?

我认为不需要任何复杂化,并且我认为有人提到了很好的例子,这是一个受防火墙保护的主机,只能被推入.
在那个例子中,即使他知道他可以在理想世界中反向获取,但网络配置不允许他这样做,因此需要推动.

为了理智地处理这个问题,在非裸存储库之间推送的人可以忘记推送到分支头.

相反,他们可以将他们的推送安排为他们的取物的真实镜像他们希望能做到的.
为了显示:

On repo A这只能被推入,如果你could从仓库获取B, 你会:

$ git fetch B

像这样的东西:

[remote "B"] fetch = refs/heads/*:refs/remotes/B/*

但不幸的是,因为你只能推进A from B,你会运行这个B反而:

$ git push A

with:

[remote "A"] push = refs/heads/*:refs/remotes/B/*

当你执行完你的推送后,你带着 repo 来到机器前A并记住你所做的只是“的镜像”git fetch B", 你会:

$ git merge remotes/B/master

你就完成了。

换句话说,不要想refs/remotes/B作为用于“的东西”git fetch".
其目的是跟踪远程存储库B's heads
.
您可以通过在存储库中发出 fetch 来维护该层次结构A.
您可以在存储库中发出推送B也这样做。

我几乎每天都会推送到实时存储库。
我典型的一天是这样结束的:

gitster$ git push kernel-org-private
gitster$ ssh kernel.org
kernel.org$ git merge origin
kernel.org$ Meta/Doit -pedantic &
kernel.org$ exit
... go drink my tea ...

where

  1. gitster是我的私人开发机
  2. kernel.org是由友好的 k.org 人员向我提供的一台机器
  3. Meta是我的结帐todo' 分支和
  4. Doit是构建所有四个公共分支的脚本。

我总是离开'master'查看了我的kernel.org存储库,并且来自我的私人计算机的推送已完成(我仍然使用非单独远程布局):

Push: refs/heads/master:refs/heads/origin
Push: refs/heads/next:refs/heads/next
Push: +refs/heads/pu:refs/heads/pu
Push: refs/heads/maint:refs/heads/maint

所以我登录后做的第一件事kernel.org机器要运行“git merge origin“带来‘master' 最新。
如果你想到'push'是'的镜像fetch’你就会明白为什么。

这就像发出“git fetch”kernel.org机器从我的私人机器上检索热印机,然后“git merge“它(通常是”git pull“ 会这样做 一小步)。

然而,有时我会不小心离开'next' 检查过了。
如果我发现我没有离开'master' 签出,我会做“git reset --hard HEAD“在做任何其他事情之前,我不希望我的推动有时会导致分离HEAD有时不是。
我不想丢失我最后在哪个分支上的信息(因为我接下来要做的就是找出在哪个分支上)Meta/Doit失败的)。
If I were有时错误地推入实时分支让我很恼火,我会切换到单独的远程布局并推入remotes/origin/*层次结构,并且会有 在那之后就真的没什么可担心的了。

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

Git 推送到 refs/remotes/mine/master 的相关文章

  • 如何设置“阅读文档”以使 Sphinx autodoc 选项发挥作用?

    我的项目不是使用 autodoc 构建的 我遇到了关于我的项目未在 autodoc 中构建的常见问题 https read the docs readthedocs org en latest faq html my project isn
  • 无法从另一台计算机访问 git 分支

    基本上我看不到另一台计算机上的分支 我跑 git branch a 在家用电脑上我得到 C learn ror sample app filling in layout gt git branch a filling in layout m
  • 我可以获取两次提交之间 git 子文件夹中已更改文件的列表吗?

    我有一个包含许多文件夹的 git 存储库 我需要找出在两次提交之间这些文件夹之一中的哪些文件发生了更改 有没有一个好的方法来做到这一点 我想你可以坚持走最后的路git diff git diff HEAD HEAD special fold
  • 每个分支的 Git 磁盘使用情况

    你知道是否有办法列出每个分支的 git 存储库的空间使用情况 喜欢df or du would 分支的 空间使用情况 是指 尚未在存储库的其他分支之间共享的提交所使用的空间 这没有正确的答案 如果您查看仅包含在特定分支中的提交 您将获得 b
  • 如何将一个文件存储库上传到 Gist,并保留历史记录?

    我的计算机上有一个包含单个文件的 Git 存储库coins py 我如何才能将其作为 Github 上的要点来保存历史 这其实很简单 您可以将现有历史记录移动到 Gist 存储库中 就像将其移动到任何其他存储库中一样 创建要点 只需输入一些
  • git tag --contains 如何工作?

    从几天前开始 我一直在尝试确定在哪个版本 由标签指定 中部署了特定修复 由提交指定 这里的一些帖子发布了这一点git tag contains是收集这些信息的方法 但是选项的文档 https git scm com docs git tag
  • Git rebase --继续而不打开编辑器

    调用时git rebase continue在正常的变基冲突之后 编辑器 GIT EDITOR 打开并要求修改提交消息 因为提交消息可能包含前导 所以这可能会失败 export GIT EDITOR true git rebase cont
  • 如何从父克隆中过去的提交中获取 git 子模块的关联提交 ID?

    有没有一种方法 除了实际检查父提交之外 还可以根据父克隆中的提交 ID 确定子模块的 SHA 1 提交 ID 我知道我能找到现在与 SHA 1 关联git submodule 这是一个例子 我有一个带有单个子模块的克隆foo上个月情况发生了
  • 如何解决git中文件重命名文件夹冲突?

    我有以下问题 我有两个分支 Branch1 和 Branch2 的一些共同提交 A Branch1 是一个公共分支 位于服务器上 Branch2 是本地分支 在 Branch1 中我更改了文件 BAD folder somefile txt
  • 如何在Git中手动合并所有文件?

    我想合并所有文件manually有了 meld 或任何其他 diff 工具 我如何使用 Git 来做到这一点 当我跑步时git mergetool它说no files need merging 所以我想只有当我有冲突时我才能做到这一点 有更
  • 执行 git stash 、 git checkout mybranch 、 git stash pop 的管道命令是什么?

    我想创建一个执行以下操作的脚本 1 git 存储 2 git checkout myBranch 3 git stash 弹出 有哪些 git 管道命令可以替代上述 git 瓷器命令 Edit 根据 Mark Adelsberger 和 T
  • git commit -m 与 git commit -am

    看起来很容易 但我就是不明白 我在我的应用程序的根目录中 这是我的工作流程 git add git commit m added a new feature some files changed git push heroku master
  • 为什么 cmake 在 git commit 后编译所有内容

    假设我有时在 Linux 上使用 cmake 2 8 编译一段代码 我更改了一个文件 my changed file 运行 cmake 并且只构建了这个文件 到目前为止 一切都很好 现在我想提交这个 git add my changed f
  • 如何正确设置 Azure DevOps 和 GitHub 之间的双向同步

    我想通过执行以下操作在 Azure DevOps 和 GitHub 之间创建双向同步 使用 CI 触发器创建 Azure DevOps 管道 将更改从 Azure DevOps 存储库推送到 GitHub 中的分支 创建第二个管道 用于侦听
  • 我应该如何将更改从一个提交转移到另一个提交?

    我在同一个分支上有两个提交 一个接一个 我在第一次提交中添加了对文件 A 的更改 然后对其他文件进行了一些更改 然后进行了另一次提交 现在我希望对文件 A 的更改是在第二次提交而不是第一次提交 最优雅的方式是什么 我知道这是一个老问题 但我
  • 在防火墙后面使用 GitHub,无需 SSH 访问

    我真的很想使用 GitHub 但我的公司一切都被锁定了 现在 我只能通过HTTP协议使用Tortoise SVN 我可以以同样的方式使用 GitHub 吗 如果是这样 怎么办 我认为你一直能够克隆github https github co
  • Git 只获取一个目录

    我有一名开发人员负责一个文件夹 另一名开发人员负责另一个文件夹 我想使用特定文件夹更新产品 我正在寻找类似的命令 cd myproject git pull myfolder 并期望只有 myfolder 会被更新 是否可以 好吧 我重新表
  • 是否可以使用“最小”算法进行交互式添加?

    当从快照计算变更集时 Git 并不总是正确选择块边界 git diff has a diff algorithm允许在这方面进行一些调整的选项 git diff minimal有时会给出比git diff alone 有没有办法获得相同的优
  • 配置 Eclipse/EGit 来跟踪上游存储库

    我正在使用 EGit 如新的 Eclipse 4 2 Juno 版本中提供的 我在 GitHub 上有一个存储库 是从另一个上游存储库分叉的 当我从 Github 上的存储库在 Eclipse 中创建项目时 它正确设置origin指向 Gi
  • 在 emacs 的文件中不断出现的这些 ^M 是什么?

    我认为这可能与 TextMate 有关 但我们在一个小团队中工作 并且在 git 中几乎相同的文件的全文件冲突方面遇到了一些问题 在一个分支中 文件的每一行都附加了 M 这是什么神秘的事 M角色应该做什么 它从哪里来 我们的开发人员在 Wi

随机推荐

  • Symfony2 EntityManager 更新而不持久

    正如你在下面看到的 我根本不 坚持 但我所做的改变正在注册 我将不胜感激你的帮助 entityManager this gt getDoctrine gt getManager entity entityManager gt getRepo
  • 使用 jQuery 动态添加/删除 HTML 元素

    I found 这段很棒的代码这里的Demo 我只需要一些零钱 我想要 一键逐行删除当前行 删除前的确认 你可以帮帮我吗 Thanks 更新1 我想要这个替代文本 http imagik fr thumb 275405 jpeg demo
  • 从 Range.Interior.Color(或任何其他颜色属性)返回 RGB 值

    我试图逐步将单元格的背景颜色更改为黑色 我发现 Range Interior Color 方法返回一个看似任意的 Long 值 查看 MSDN 上的文档 几乎没有任何关于这个数字代表什么的信息 有没有办法从这么长的数据中返回 RGB 值 我
  • 简化创建 SO 表的脚本

    如何从 Google 表格创建 Markdown 表格 此代码允许您从电子表格中复制数据 对其进行编辑 独立对齐每一列 然后使用适当的降价将其发布到 SO 中 以制作一个漂亮的表格 代码 编辑 gs function onOpen menu
  • 有没有办法对闭包进行编码和解码?

    由于某种原因 我需要序列化一个包含多个闭包字段的类对象 像这样 import Foundation class Foo NSObject NSCoding var bar gt Void override init bar required
  • 为同一个图上的 2 条线设置动画

    我正在尝试为同一情节上的两条线设置动画 四处搜寻后 我发现了这个帖子这似乎让我走上了正轨 当我运行此代码时 停滞的图表显示没有动画 给我一个错误AttributeError AxesSubplot object has no attribu
  • 带变量的 Java JDBC 查询?

    String poster user Statement stmt con createStatement ResultSet rs stmt executeQuery SELECT FROM prices WHERE poster pos
  • 如何在tableView单元格中显示多行

    我有一个有点长的字符串 在 tableView 单元格中显示时会被截断 我这样做是为了使表格视图更宽 tableView rowHeight 100 如何使字体变小并将文本换行在表视图单元格中 In tableView cellForRow
  • playframework 2.2 java:如何从子域设置语言(i18n)

    如何不仅从用户浏览器设置中设置语言 i18n 而且从 playframework 2 2 java 中的子域 应该具有更高的优先级 设置语言 i18n 以下应该有效 example com gt 英语或德语 取决于浏览器设置 en exam
  • 神秘主义:Invoke-WebRequest 仅通过 ISE 工作

    我今天花了3个小时 不明白为什么 我有简单的脚本 user icm pass icm pair user pass url http 15672 api queues 2f ICM Payments Host 1 encodedCreds
  • 如何使用node.js在机器人中获取用户的IP地址?

    我正在用 Node js 编写一个机器人 我可以知道如何将代码插入到 console log 消息发送者的 IP 地址吗 我需要 IP 地址来执行一些自动登录 非常感谢 您可以通过以下方式从请求对象获取IP地址 request connec
  • 修复了各种系统上的 CHAR_BIT?

    我对 limit h 中的 CHAR BIT 感到困惑 我读过一些文章说宏 CHAR BIT 是为了可移植性 在代码中使用宏而不是像 8 这样的幻数 这是合理的 但是limits h来自glibc headers 它的值固定为8 如果gli
  • ValueError:使用序列设置数组元素。 scipy最小化[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 from scipy optimize import
  • 如何在 PL/SQL 中合并两个相似的数据库模式?

    数据库模式 源和目标 非常大 每个都有超过 350 个表 我的任务是以某种方式将这两个表合并为一个 数据本身 表中的内容 必须迁移 我必须小心 在合并模式之前或同时 主键没有重复条目 有没有人已经这样做过并且能够为我提供他的解决方案 或者有
  • 从返回的 PowerShell 函数将调试消息打印到控制台

    有没有办法从返回值的 PowerShell 函数将调试消息打印到控制台 Example function A output 0 Start of awesome algorithm WriteDebug Magic function tha
  • 在 xml 序列化期间将每个属性放在新行上

    假设我有一个 DOM 对象 或包含 xml 的字符串 是否可以以任何方式序列化 xml 使每个属性都出现在新行上 这是我想要的输出
  • 通过函数将指针传递给数组数组

    代码中有一个指向数组数组的指针 即 NameList 我希望将指针 NameList 中每个数组的内容一一打印出来 下面的代码无法完成该任务 请 帮助 int Data1 10 10 int Data2 20 20 int Data3 30
  • JTextField限制输入字符数量并仅接受数字

    这是我关于如何限制字符输入长度的代码 class JTextFieldLimit extends PlainDocument private int limit optional uppercase conversion private b
  • 为 Linux 构建 chromedriver

    我正在尝试从源代码构建 chromedriver 以在 Linux 的 selenium 中使用 我用这个手册https chromium googlesource com chromium src master docs linux bu
  • Git 推送到 refs/remotes/mine/master

    我正在跟踪一个远程存储库 即我有refs remotes joe master 我知道希望尽快将乔的更改放入我的存储库中 我不想使用fetch 因为他犯案时我可能不在电脑前 所以我告诉他 我可能要去购物 所以请将您的更改推送到refs re