- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我们有 3 个独立的 git 存储库(每个都有一些分支),我们想将它们 merge 为一个保留完整历史记录和访问分支的能力,如下所示:
这就是我们所拥有的。 3 个 repo :
/A/.git
/B/.git
/C/.git
我们想要一个包含 3 个子目录的 super 仓库:
super/.git
super/A
super/B
super/C
并说当切换到分支 feature1(最初在 repo B 中,在 repo C 尚不存在时引入)我们期望结果是:
super/.git
super/A
super/B
我们读过 Combining multiple git repositories但是在使用 git-stitch-repo 时遇到了麻烦,它基本上像宣传的那样工作,只是在 super-repo 中缺少相当多的提交(没有任何指向问题的错误消息)。
知道我们这里可能做错了什么吗?
编辑我们知道子模块和子树 merge ,但两者都不是一个选项。这应该是一次性操作。我们需要一劳永逸地加入 repo 协议(protocol)。
编辑可能是提出基本相同问题的一种更简单的方法:假设我们有一个包含 3 个完全不相关的分支的 repo 协议(protocol)。我们可以将它们 merge 到一个分支而不会发生冲突(因为它们不共享文件)。现在,当查看历史记录时,我们看到 3 个不相关的提交分支和一个它们聚集在一起的点。但我们希望看到的是由所有 3 个分支的交错(按日期/时间)提交组成的一个分支。
最佳答案
你不需要子模块,因为你会用你将要发出的所有 git submodule update 命令来 pull 扯你的头发。您还必须发出 3 个 git log 命令而不是一个命令来查看在特定时间内发生了什么。
将所有历史记录 merge 到一个存储库中。使用filter-branch重置每个repos history所在的目录,不需要拼接。执行过滤器分支后,您可以在任何时候简单地 merge 。
基本上,repoA/master、repoB/master 和 repoC/master 将存在于您创建的新存储库中(尽管您可以只从其中一个开始)。应用过滤器分支后,每次提交中的每棵树都会有一个新的根节点,该节点将是一个目录(A 代表 repoA 分支,B 代表 repoB 分支,等等)。
或
git checkout -b newbranch --root
git log --all --format=%ad%H | sort | cut -c10- | xargs -n 1 git cherry-pick
调整切割,使其只采用散列。没试过这个,但让我知道它是如何工作的。您可能需要首先使用 rebase 来平整历史记录。您不能从 3 个不同的历史中交错不同的分支和 merge 。
希望这对您有所帮助。
关于git - merge 不相关的 git 存储库,保留历史/分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7575367/
我有这张图: digraph G { 1 [label="car"]; 2 [label="x"]; 3 [label="car"]; 4 [label="y"]; 5 [label="cdr"];
我有一个大型查询,其中一个简单的子查询优化将其从 8 分钟缩短到 20 秒。我不确定我是否理解为什么优化会产生如此巨大的效果。 本质上,这是问题部分: SELECT (bunch of stuff)
我在 NetBeans IDE 6.9.1 和 GlassFish 3 中遇到非常奇怪的问题。在使用 64 位 JDK 在 Windows 7 上安装 NetBeans 后,在没有创建任何项目的情况下
我有两个长度相同的数组。第一个数组是静态的,具有这种格式的数据 a = [['q', 10], ['s', 20], ['z', 40], ['d', 15]] 和另一个数组 b = [1, 0, 0
我在下面的代码中有一个编译错误。编译器似乎将类方法 set 解释为一个模板,乍一看,它与我的代码完全无关。 #include #include using namespace std; templ
我有一个完整的 Canvas CCLayer,上面有几个小的 CCLayer - 它们是按钮。在按钮上我启用了触摸监听器: - (id)init { if ((self = [super init
关于 this page ,当您将鼠标悬停在右上角的红色标记上时,css3 变换会旋转图像。这按预期工作,但 div.last.half 短暂地向右单击并返回到它的原始位置。 这仅出现在 Chrome
我目前正在重新设计我的网站以包含两栏。左栏是带有一些链接和文本的侧边栏,右栏是页面的正文(不是 )。我遇到的问题是页面上两个完全独立的元素的 CSS 规则会影响这两个元素。 因为这可能没有意义,这是
这是问题 here 的跟进关于使用参数依赖查找 (ADL) 的函数重载。我想检查一下我在这种情况下对规则的理解,所以我写了一些测试代码。 首先,在 std 中当然没有 HasPtr 类的交换,所以我写
我是 Developer Portal 中两个开发团队的成员。一个团队不再存在,也不再由团队的“代理”维护。 现在这就是我的问题。我正在尝试在 Xcode 中刷新我的配置文件,但不断收到一条消息,告诉
在调试问题时,我注意到在改变方向时,viewDidLoad不相关的UIViewController正在被调用。 它似乎与我的问题无关,但这完全很奇怪。 这个UIViewController只能从 UI
今晚,当我拖放一个早上运行良好的项目时,我继续收到数千个这样的错误。我有 140 个类,我无法跟踪我所做的所有修改:(。但我从未更改过与拖/放功能相关的任何内容。我已经完全远离了代码中引发这些问题的行
我的网页布局有一个奇怪的行为。当我在“sideBar”div 中添加更多 div 时,网页的中心部分被下推。它们与中心部分无关。他们有边界,我看到他们离“主要”分区很远。有什么办法可以防止它,或者我每
我们有 3 个独立的 git 存储库(每个都有一些分支),我们想将它们 merge 为一个保留完整历史记录和访问分支的能力,如下所示: 这就是我们所拥有的。 3 个 repo : /A/.git /B
我意识到“为什么会这样”的问题通常不是最好的问题,但是 SO 上有很多人关注标准委员会的讨论,所以我希望可以如实回答,因为我很好奇至于答案是什么。 基本上,当我第一次看到 std::result_of
我已经设法使 SqlDependency 正常工作,但前提是我不在我认为与 SqlDependency 无关的 SQL 事务中使用 IsolationLevel.ReadUncommited。 当我在
我一直在尝试使用反射动态设置字段。当谈到泛型类时,有一个障碍。考虑这段代码: 包装器.java: public class Wrapper { private T var; publi
我是一名优秀的程序员,十分优秀!