与使用 Github 的人共享 git repo 的一个分支的好方法是什么?

2024-01-22

We use 发展大师。我们合并stable要掌握的主题分支。对于我们的客户,我们来自 master 的分支。我们需要让一些外部协作者(通常是前端开发人员)在客户的分支上进行协作。但他们不得有任何访问权限(读或写) 到其他分支或master(理想情况下,甚至不涉及客户分支分歧之前的项目历史)。

我的想法是,我们可以创建一个新的存储库,其中“修订版 0”将是客户端分支分歧的存储库,并使用拉取请求来拉取对规范存储库的更改。有什么办法可以做到这一点吗?我的意思是从其他存储库的一些具体修订开始创建空存储库。

我认为这应该是可能的 - 因为内容将是相同的 - 哈希值也会相同。但是,简单地复制和粘贴修订版是行不通的,或者容易出错,因为新创建的请求需要与规范存储库中的请求完全相同才能具有相同的哈希值。

请注意我们使用 Github 作为我们的 git 托管我们无意创建自己的 git 托管。


如果您想对彼此和您的主服务器隐藏客户端,则每个客户端都需要一个私有存储库。您将拥有一个包含您自己的开发的内部存储库,以及每个客户的孤立分支。当你想创建一个新的客户端分支时,你会这样做

git checkout --orphan client_xx
git commit

然后,您将拥有一个孤立分支,其中包含当时主分支的确切内容。要创建客户端存储库,您需要使用临时分支做一些小技巧

mkdir -p /path/to/client_xx
cd /path/to/client_xx
git init
git fetch /path/to/internal client_xx:tmp
git checkout tmp
git branch master
git checkout master
git branch -d tmp

现在,客户端存储库的 master 分支将包含与内部存储库的客户端分支完全相同的 sha1。您可以让客户端分叉客户端存储库并向您发出拉取请求。您可以通过拉取客户端分支将客户端存储库集成到内部存储库中。由于客户端分支是孤立的,因此您无法正确地将客户端分支合并到主分支(反之亦然),但您可以使用cherry-pick 进行集成。

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

与使用 Github 的人共享 git repo 的一个分支的好方法是什么? 的相关文章

  • 有谁知道类似于 SVN Time-Lapse View 的 Git 工具 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 SVN Time Lapse View 是一个跨平台查看器 可以下载文件的所有修订版本 并允许您通过拖
  • 在 github 上下载 ZIP 时没有 .xcodeproj 文件

    我正在尝试将我的 GitHub 项目放入 Xcode 中 当我从 GitHub 下载时 zip 文件不包含任何 xcodeproj 文件 另外 即使我在 xcode 上登录 GitHub 克隆 下载时也没有 在 Xcode 中打开 选项 如
  • `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
  • 如何制作 github PR 请求审查整个文件?

    有这个问题 https github com isaacs github issues 284这是相关的 允许对更改集之外的部分代码进行注释 我只是想知道是否有人有聪明的解决方法或流程来实现类似的 也许更简单的事情 因此 我有一组不同的文件
  • 默认情况下 git merge -Xignore-space-change

    我该如何设置该选项ignore space change对于所有合并使用git config 我也许可以使用别名merge 但因为我希望该设置应用于git stash pop git stash apply git pull and git
  • Git - 创建拉取请求而不分叉

    使用 git 已经有一段时间了 关于 git pull request 有很多教程和解释 其动机是什么等等 我遇到两种情况 1 分叉 git 仓库 我查看了一些公共 git 存储库并决定我想要做出贡献 所以我 通过以下方式创建重复的存储库F
  • 从 GitHub 上托管的 Spring Cloud Config Server 访问存储库的身份验证问题

    我在 GitHub 上的存储库中托管配置 如果我将回购公开 一切都好 但如果我将其设为私有 我将面临 org eclipse jgit errors TransportException https github com my user m
  • 无法从 Sourcetree 拉取 Git 远程存储库

    我生成了 ssh 密钥并配置了我的 git 和 SourceTree 我可以 git pull 并从 Git bash 执行其他操作 注意 我在 bashrc 中添加了以下内容以使其正常工作 eval ssh agent ssh add 然
  • apt-get 无法在 ubuntu dockerfile 中工作

    我对 docker 相当陌生 正在尝试通过编写自己的镜像来学习 并且目前正在阅读 Docker 的实际操作 ISBN 1633430235 在我自己的代码和书中的示例 第 146 页 中 我想通过 dockerfile 安装 git My
  • 如何使用脚本在 GitHub 上发布构建工件资产?

    我正在尝试找出一种在 GitHub 上生成构建的单命令流程 我预计要做的是运行某种命令 比如 make release make release 脚本会构建发布工件 然后以某种方式将其上传到 GitHub 然而 我对如何在 GitHub 上
  • 如何在 macOS 上将 Git 升级到最新版本?

    我刚刚购买了一台装有 OS X Lion 的新 Mac 我在终端中检查了默认安装的 git 版本 我得到了答案 git version gt git version 1 7 5 4 我想将 git 升级到最新版本 1 7 8 3 因此我下载
  • 当 .gitattributes 中的 EOL 设置为 CRLF 时,Git diff 认为行结尾为 LF

    当我恢复对带有 Windows 行结尾的文件的更改并且 gitattributes 将 EOL 定义为 CRLF 时 git 认为行结尾已更改为 LR 即使十六进制编辑器显示 CRLF 仅当 gitattributes 定义 EOL 字符时
  • Git 将一个分支合并到所有其他分支中

    我知道这个问题已经在这里被问过 https stackoverflow com questions 2329716 merging changes from master into all branches using git https
  • NoSuchBeanDefinitionException:没有合格的 bean 类型

    当调用我的 GET 请求 模式计算 时 我收到此错误 我不明白为什么 我的依赖项注入是正确的 org springframework beans factory NoSuchBeanDefinitionException No qualif
  • 如何使用 Git 跟踪目录而不是文件?

    我最近开始使用 Git 但只有一件事遇到了麻烦 如何在不跟踪目录内容的情况下跟踪目录 例如 我正在开发的网站允许上传 我想跟踪上传目录 以便在分支等时创建它 但显然不是其中的文件 在开发分支中的测试文件或主控中的真实文件 在我的 gitig
  • 将bitbucket发布到数字海洋

    我本质上是试图使用 bitbucket 来理解 git 的概念 我一直在通过修改本地帐户和 bitbucket 帐户之间的文件来练习版本控制 事实证明这很有帮助 现在我正在尝试弄清楚如何将文件从 bitbucket 或者我猜是 GitHub
  • 带有 git Remote 的 Gem 文件在 Heroku 推送上失败

    我的 gemfile 中有以下行 gem client side validations git gt email protected cdn cgi l email protection Dakuan client side valida
  • 使当前提交成为 Git 存储库中唯一(初始)提交?

    我目前有一个本地 Git 存储库 我将其推送到 Github 存储库 本地存储库有约 10 次提交 Github 存储库是其同步副本 我想要做的是从本地 Git 存储库中删除所有版本历史记录 以便存储库的当前内容显示为唯一提交 因此存储库中
  • 仅使用 Git grep 的文件名

    我只想查看文本中包含特定单词的不同文件 current directory git grep word 显示文件中具有匹配单词的每一行 所以我尝试了这个 current directory git grep word files with

随机推荐

  • ElasticSearch 聚合:每个聚合排除一个过滤器

    我想过滤掉字段 A 等于 a 的文档 并且我想同时对字段 A 进行分面 当然不包括之前的过滤器 我知道您可以将过滤器放在查询 外部 以便在不应用该过滤器的情况下获取方面 例如 弹性搜索 query match all filter term
  • Android如何从Geocoder返回的地址获取街道名称

    我在用着Geocoder以相反的方式从给定的纬度和经度获取地址 你知道如何从Address 只有街道名称 Geocoder geocoder new Geocoder AutoFinderMapActivity this try List
  • SwiftUI 更新导航栏标题颜色

    如何在 SwiftUI 中更改导航栏标题颜色 NavigationView List ForEach 0 lt 15 item in HStack Text Apple font headline fontWeight medium col
  • PHP 对象属性的动态名称

    而不是使用 object gt my property 我想做这样的事情 object gt my variable 像这样使用大括号 object gt my variable
  • 从 CLI 同时执行多个 php 脚本

    我有 55 个 php 文件 我想从命令行同时运行它们 现在 我使用以下代码在多个 CLI 窗口中运行它们 php Script1 php 我希望能够调用一个 php 文件来同时执行所有 55 个 php 文件 我一直在阅读有关如何使命令行
  • 如何计算谷歌电子表格中逗号分隔数字的数量?

    我有一个有值的单元格 1 2 3 4 我需要一个在另一个单元格中返回 4 的公式 但是这个 Google 电子表格看起来非常复杂 我还需要修剪 因为数字之间可能有空格 一种选择是使用以下公式 COUNT SPLIT A1 这是一个例子
  • 为什么在测试 PSCustomObject 的属性时操作数的顺序很重要

    两种情况我都尝试过 psCustomObject x eq null and null eq psCustomObject x在 if 语句中 只有后者通过了 if 为什么会这样 这似乎不合逻辑 我的具体用例是一个包含多个环境配置的 jso
  • 这个哈夫曼表是如何创建的?

    我有一张表显示事件发生的概率 我对第 1 部分很满意 但第 2 部分我不太喜欢 我正在努力弄清楚如何 二进制数是在第 2 部分中导出的 我知道 0 被分配给最大的概率 我们从那里开始工作 但是我们如何计算出下一组二进制数是什么 数字周围的圆
  • 无法通过反应中动态 div 元素的索引号从数组中删除特定元素?

    我无法从任何动态 div 中按索引号删除数组的特定元素 const useState React function Check var Children setChildren useState function RemArr docs c
  • SQLite 的 ContentObserver?

    我一直在研究如何在 ListView 中显示数据库中的数据 同时跟踪数据库中的更改 假设我有一个聊天应用程序 它显示我所属的所有聊天室的列表视图 适配器的查询是SELECT FROM CHAT ROOM ORDER BY UPTDATE T
  • Airflow为每个DAG添加一个UI按钮

    默认情况下 每个 DAG 有一堆按钮 Trigger Dag Delete Dag等 在 UI 的主 管理 视图中 我一直在尝试添加一个像上面描述的那样的按钮 每次单击它时它都会发送一个 Http 请求 我已经成功使用这些插件 https
  • 通过值查找映射中的元素

    我正在创建一个HandleManager其目的是简单地映射Handles 这是一个typedef of long long int to strings 目的是让使用 a 的对象Handle也可以通过以下方式识别string如果它可以帮助用
  • 有没有利用 jQuery 的 JavaScript WYSIWYG?

    我看过TinyMCE http tinymce moxiecode com FCK编辑器 http www fckeditor net YUI 富文本编辑器 http developer yahoo com yui editor NicEd
  • Python底图模块无法导入

    我在 python 中导入 mpl toolkits 的底图模块时遇到麻烦 这是从模块目录运行 test py 脚本时得到的结果 usr lib python2 7 dist packages mpl toolkits basemap py
  • 对话框大小与背景图像不匹配

    我正在使用 Android SDK 制作游戏 一路上 我需要像任何其他游戏一样显示弹出窗口 对话框 用户可以升级或其他什么 我遇到的问题是对话框的大小 我正在使用RelativeLayout 并使用 wrap content 将背景设置为图
  • 将类成员复制到其他类中 - eclipse

    当您需要将某些类功能移动到另一个类中时 可以通过通过引用某些公共变量 Ctrl Shift G 搜索相应的方法 然后使用 Eclipse 的重构功能 Move 来轻松完成 该功能允许移动选定的方法进入其他班级 但也可能发生您需要复制方法的情
  • 存储词频列表选择Trie还是HashMap?

    我有一个包含 100 万个英语单词的 txt 文件 其频率采用以下格式 好 345667坏 456777 我需要使用 Java 中的 HashMap 或 Trie 数据结构来存储它 稍后我需要从列表中查找单词而不进行其他操作 我的理解是 H
  • Rails 应用程序使用 Devise 时使用 session_id 和 Remember_user_token 的区别

    我正在使用 Devise 1 5 4 和 Rails 3 0 20 以下是我所了解的事实 浏览器有一个session id的Cookie 它可以帮助普通应用程序唯一地跟踪会话 可能有也可能没有用户登录 如果用户已登录 并假设他选择了 Rem
  • 如何在 Hibernate 单元测试中忽略某些字段

    我的实体模型中有以下字段 Column name key ColumnTransformer read AES DECRYPT key SHA1 passcode write AES ENCRYPT SHA1 passcode privat
  • 与使用 Github 的人共享 git repo 的一个分支的好方法是什么?

    We use 发展大师 我们合并stable要掌握的主题分支 对于我们的客户 我们来自 master 的分支 我们需要让一些外部协作者 通常是前端开发人员 在客户的分支上进行协作 但他们不得有任何访问权限 读或写 到其他分支或master