![]() |
1
461
也许最简单的方法就是拉住 XXX YYY 然后将其合并到master中: 在里面 :
事实上,我只是用我的几份回购协议尝试了一下,效果不错。不像 Jörg's answer 它不会让你继续使用另一个回购协议,但我认为你无论如何都没有指定。 注意:由于这最初是在2009年编写的,git添加了下面答案中提到的子树合并。我今天可能会使用这种方法,当然这种方法仍然有效。 |
![]() |
2
388
您可以像这样跟踪上游更改:
这个
缺点
在合并的历史记录中,文件是不固定的(不在子目录中)。因此
换句话说,如果你不改变
例如你不需要通过考试
github's "Subtree Merge" help article . 及 another useful link . |
![]() |
3
147
合并存储库
git子树实现了 subtree merge strategy 对于您的案例,在存储库YYY中,您将运行:
缺点
但这不会显示合并历史中的其他更改。
换句话说,如果你不改变
更多信息 here . |
![]() |
4
52
Git存储库中有一个众所周知的实例,在Git社区中统称为“
the coolest merge ever
这封电子邮件包含了复制所需的步骤,但它不是为胆小的人准备的:首先,莱纳斯 Git,所以他对它的了解可能比你或我多一点,其次,这几乎是5年前的事了,Git已经改进了 相当地 特别是,我想现在人们会使用gitk子模块,在这种特定情况下。 |
![]() |
5
12
实现这一点的简单方法是使用git格式的补丁。 假设我们有2个git存储库 福 和 . 福 包含:
包含:
酒吧 历史记录和这些文件:
这将在每个提交消息的开头添加“[bar]”。 |
![]() |
6
10
如何使用:
|
![]() |
7
7
基于 on this article ,对我来说,使用子树是有效的,只传输了适用的历史记录。如果有人需要这些步骤,请在此处发布(确保用适用于您的值替换占位符): 在源存储库中,将子文件夹拆分为新的分支
验证您的更改并提交
别忘了
|
![]() |
8
7
让我用名字
假设要合并存储库
https://gist.github.com/x-yuri/9890ab1079cf4357d6f269d073fd9731 更多信息 here . |
![]() |
9
3
添加另一个答案,因为我认为这有点简单。将repo_dest拉入repo_to_import,然后推式设置上游url:repo_dest master。 这种方法对我来说很有效,它将几个较小的回购协议导入到一个较大的回购协议中。 如何导入:repo1\u到repo\u导入到repo\u dest
在执行导入之前,请重命名或将文件和目录移动到原始repo中所需的位置。例如
下面链接中描述的方法启发了这个答案。我喜欢它,因为它看起来更简单。但要当心!有龙!
https://help.github.com/articles/importing-an-external-git-repository
|
![]() |
10
1
在我的例子中,我只想从另一个存储库(XXX)导入一些文件。子树对我来说太复杂了,其他的解决方案都不起作用。这就是我所做的:
这将为您提供一个以空格分隔的列表,其中列出了影响我要导入的文件(ZZZ)的所有提交(您可能还需要添加--follow以捕获重命名)。然后,我进入目标存储库(YYY),将另一个存储库(XXX)添加为远程存储库,从中提取数据,最后:
这会将所有提交添加到分支中,因此您将拥有所有文件及其历史记录,并且可以对它们执行任何您想要的操作,就好像它们一直在这个存储库中一样。 |
![]() |
11
1
看见 在里面 this article
完成本章所述的所有活动(合并后),删除分支
然后,推动改变。
|
![]() |
12
0
我当时的处境是我在寻找
所以现在我的
|
![]() |
13
0
我可以建议另一种解决方案(替代 git-submodules )为了你的问题- gil (git links) tool 它允许描述和管理复杂的git存储库依赖关系。 此外,它还提供了一个解决方案 git recursive submodules dependency problem . 考虑以下项目依赖: sample git repository dependency graph
然后你可以定义
因此,您将克隆所有必需的项目,并以适当的方式将它们相互链接。 如果要提交某个存储库中的所有更改以及子链接存储库中的所有更改,可以使用单个命令:
Gil(git链接)工具支持以下命令:
|
![]() |
14
0
下面是一个脚本,它将在蝙蝠的右边工作。
运行脚本。转到要合并其他回购协议的回购协议,然后运行脚本。
|
|
15
0
没有足够的代表给x-yuri的答案添加评论,但它运行得很好,保留了历史。 我正在与两个正在工作的本地回购进行合作,并收到以下错误:
而不是担心
并将这个新克隆的副本用于x-yuri发布的一系列命令。
最后,在:
|
![]() |
16
-1
我不知道有什么简单的方法可以做到这一点。您可以这样做: 如果听起来很吸引人,我可以编辑细节。 |
![]() |
17
-2
我想你可以用“git-mv”和“git-pull”来实现这一点。 我是一个普通的GitNoob——所以要小心你的主存储库——但我只是在一个临时目录中尝试了一下,它似乎起了作用。
|
![]() |
charleslcso · 从开源克隆并推送到我的GitHub[重复] 1 年前 |
|
Itachi · 无法为python项目安装“DAWG”包 1 年前 |
![]() |
Igor · git重置已删除目录上的头 2 年前 |
![]() |
Robo · 撤消删除Git中被忽略的文件 2 年前 |
![]() |
Ali EXE · 如何根据bat中命令的输出设置变量? 2 年前 |
![]() |
ShortArrow · 如何使用git管理链接源文件? 2 年前 |
![]() |
Siggi · 使用git移动文件时丢失历史记录 2 年前 |