gpt4 book ai didi

git - 如果两个结构相同的 git repos 从来没有任何共同的历史记录,它们可以 merge 吗?

转载 作者:太空狗 更新时间:2023-10-29 12:54:13 26 4
gpt4 key购买 nike

我有两个小的 git 仓库。这两个项目都从不同的点开始,但汇聚到一个非常相似的点(相同的文件名、文件夹结构等)。一个不是另一个的分支,但一个可以被认为是另一个的进化。

如果我可以将两者 merge ,那么 repo2repo1 的延续就好了。这是否可能,同时将 repo2 的历史记录添加到 repo1 的末尾?

最佳答案

您可以 fetch one into another :

$ cd project1
$ git config remote.project2.url /path/to/project2
$ git config remote.project2.fetch 'refs/heads/*:refs/project2/*'
$ git fetch project

这将为您提供两个(或更多)分支,其中包含项目 1 和项目 2 的历史记录。它们仍然是完全独立的,只是使用相同的对象存储。

然后(未测试),您可以使用移植文件 (.git/info/grafts),您可以在其中覆盖提交的父级(如第一个project2 的父级为 project1 的最新版本)

作为Dustin在评论中说,rebase 是为了“使其永久化”,方法是将 project2 提交重播到 project1。


您在这个“Using Git within a project (forking around)”博客条目中有另一个例子,尤其是“如何 pull friend 和影响他人”部分。再次:

git checkout two_point_ooh
git remote add strelau git://gitorious.org/ruby-on-rails-tmbundle/mainline.git
git checkout -b strelau/two_point_ooh
git pull strelau two_point_ooh

是一个类似的过程,但是对于 fork 的存储库(这不完全是你的情况)

关于git - 如果两个结构相同的 git repos 从来没有任何共同的历史记录,它们可以 merge 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/651542/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com