首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >级联git存储库,SoCs Linux内核

级联git存储库,SoCs Linux内核
EN

Stack Overflow用户
提问于 2015-12-07 12:04:16
回答 2查看 307关注 0票数 1

我打开这个问题是为了更好地理解下面提到的项目中的git存储库依赖关系。

例如,OMAP或MSM SoC硬件平台是从ARM架构演化而来的,其内核的开发也可以采用同样的方式: Linus内核存储库、>> ARM适配库、>>供应商的SoC适配内核存储库。

">>“指父克隆库之间的直接关系。

因此,如果以上是正确的,应该存在一个级联的存储库。本地存储库从供应商的SoC内核存储库中克隆出来,用于补丁开发或类似于级联的最新阶段。我想,由于升级到Linus树的延迟,建议从平台项目存储库克隆,而不是直接克隆普通Linux。

Linaro似乎是ARM的协作平台。代码Aurora论坛似乎是一些额外的协作平台。

这两种方法都可能对已处理平台的最终内核做出贡献。

可能会有更多的开源协作平台,而不是上面这两个平台,并且涉及到级联。

问题1如何列出存储库的远程处理程序?

代码语言:javascript
复制
git branch -r

以下列形式提供具有列表项的远程跟踪分支列表

代码语言:javascript
复制
origin/level_2-path-element/level_1-path-element/level_0-path-element/branch-name  

例如:

代码语言:javascript
复制
origin/linaro/linux-linaro-stable/v3.14/topic/aosp

问题2问题所有路径级别所指的是什么?这些是父分支,或者更确切地说是父远程?

EN

回答 2

Stack Overflow用户

发布于 2015-12-07 19:26:10

首先,您必须在索引中区分remotesbranches。所有使用remotes的操作都是由git remote …完成的。

因此,回答1git remote -v将显示您订阅的遥控器的详细列表。

的答案2有点模糊,因为您必须参与到您正在讨论的项目中。所以,通常第一部分是远程的,第二部分是这个特定远程的分支。注意,顺便说一下,分支名称可以包含'/‘字符,但是它与任何实际路径无关!只是一个方便的名字,比如说。

我处理存储库的方式(由于git 2.5.0+的新特性,我不得不稍微改变一下)是克隆项目的主存储库,原名为linux内核,然后添加远程,例如,我有稳定的linux稳定的,接下来的是linux-next。这是一个裸存储库(没有工作目录)。然后,我为这个库创建了几个额外的参考库。我在这个仓库中添加了我想要的更多的遥控器。通常,我很少将基于子系统的树添加到一个存储库中(比如spi或trees )以及我在另一个存储库中的实验材料。

代码语言:javascript
复制
+----------------------------+---------------------------+
|                            |                           |
|                     +------v------+                    |
|                     |   REFERENCE |                    |
|                     |             |                    |
|                     |    origin   |                    |
|   +-------------+   |             |   +-------------+  |
|   | TOPIC REPO1 |   |    stable   |   | TOPIC REPO2 |  |
|   |             |   |             |   |             |  |
+---+ (reference) |   |     next    |   | (reference) +--+
    |             |   +-------------+   |             |
    |   branch X  |                     |   branch Y  |
    +-------------+                     |             |
                                        |     spi     |
                                        |             |
                                        |   tty-next  |
                                        +-------------+
票数 1
EN

Stack Overflow用户

发布于 2015-12-08 11:20:06

在给定的情况下,git不用于项目的积极贡献。soc供应商提供其公开的git和所有所需的引用。我的项目包括从git中获取的源代码快照(提取不是我的工作),但是处于版本控制之下,而不是git的VC。然后,我的工作是编译和构建与自己的代码来源和通过其他发行渠道接收到的其他组件。每当soc供应商提供新的公共git状态引用时,由于基线的变化,我会在我的项目中提供它,以便随时使用源代码。

问题是,如果涉及到交付补丁或错误修复,soc供应商并不总是足够快。因此,我们的想法是获得更多的独立性--由于供应商提供的补丁大多来自公共git存储库,因此应该可以稍微独立一些。为什么不自己浏览一下soc供应商使用的公共存储库的历史,看看是否需要在其他分支上进行更改。然后检查该发现是否符合在我的项目中应用的资格。当然,在soc厂商的公共git的任何分支上都不会发现需要改变的情况,因为没有任何地方存在,没有回购,没有分支。

因此,我将soc供应商使用的公共回购克隆到了我的私人网站上。没有在私人回购中创建本地分支。矿山私人回购将被用来浏览历史和寻找所需的东西--在开发中没有积极的合作。分支名称可以作为判断补丁是否适合在我的SoC/项目中应用的标准之一。问题是回购及其历史上有大量的分支。我经常想知道,作为远程跟踪分支列出的特定分支与已使用的soc或板有什么共同点。可能的原因可能是我的遥控器(此时我的本地回购只有一个遥控器)从它的遥控器继承了它们。

此外,我想知道soc供应商是否直接从Linux树中克隆公共回购,或者更确切地说是从ARM适配公共回购,因为SoC是基于ARM核心的。因此,问题1最初提出。这个问题读着我的私人回购使用的遥控器是哪个遥控器。所以请理解我不能接受你的回答。

Reg 问题2回答:我从您的答案中得出结论,两个斜杠之间的特定元素是分支引用。这是一个在一个遥控器上的分支层次结构吗?我的私人回购的遥控器?或者是远程repos (级联)的层次结构?

通过收集已寻址的知识,我的目标是在浏览历史时贴现完全无关的分支。我的目标是在我的项目中使用的分支与其他现有分支之间的关系上有更多的方向。

我用专业的git书来熟悉Git。这本书没有回答我所有的问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34133140

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档