首页 > 解决方案 > 处理 git repos 从另一个保存历史中开发一个

问题描述

社区!我不是一个合适的程序员,我编程或多或少是出于一种爱好。有没有办法关联两个 git 存储库,当一个是从另一个开发出来的时,我可以看到它们与git logor的关系git graph

我的工作流程如下:我在 IDE 或编辑器中处理一个项目,然后我想到一个想法或请求另一个项目,我承认我没有打开新窗口或创建新文件夹,而是打开新的 (临时)我正在工作的仓库中的文件;这是我正在同时处理两个项目。后来,在清理东西时,我想按照拆分回购的方式将项目分开。

我通常做的是获取不属于旧项目 A 的文件/文件夹,将它们移动到一个分支并将该分支克隆到一个新项目/repo B。因此我保留了可以使用相应命令过滤掉的历史记录 -这就是我到目前为止解决的问题。

当我查看 时log,我的文件的历史取决于我清理了多少历史,但从 repo B 到 repo A 没有关系。

当然,我阅读了有关遥控器的内容submodules以及subtrees有关遥控器的内容,但它们都不符合我的需求,因为存储库在代码或软件方面不一定有关系,但这种关系更让我看到,我在开发时开发了什么从事其他项目,因此出于存档原因应保留该关系。

我希望,我明确了我想要实现的目标,也许你对我有一些提示或建议,在哪里看或进一步阅读。如果有信息缺失,我愿意提供。

非常感谢你!

标签: gitgitlab

解决方案


你可以这样做......你正在处理位于~/projects/projectA(一个git repo)的项目。然后你收到一个开始另一个项目的请求......并说你想把它放在~/projects/projectBprojectA 的some-branch......你可以这样做:

cd ~/projects
git clone -b some-branch projectA projectB # only clone that branch into projectB

这样你就可以在 projectB 中保留 some-branch 的完整故事。


推荐阅读