在保留Git历史的同时从不同结构的外部存储库中提取单个文件/目录

时间:2013-11-10 02:26:06

标签: git svn version-control github diff

我正在使用的项目将从许多远程存储库中提取单个文件。至关重要的是,每个文件都会从其原始存储库中保留其完整的提交历史记录,当它将其提取到新存储库时,以便将来可以引用其提交历史记录。

我似乎无法找到执行此操作的正确方法/工作流程。当我拉动/处理文件时,我在本地存储远程存储库。我从中提取的存储库也有完全不同的目录结构,因此每当我拉入时,我也会将文件移动到新路径。

如果有某种GUI可以允许存储库与历史记录之间的并行文件移动,那将是理想的但是cd到当前repo路径并且如果需要的话将文件拉入其中并不是那么大的问题远程路径。我查看了git archive命令但它不会拉入历史记录,有没有办法使用checkout命令呢?

我正在提取的文件有非常详细的提交历史记录,这些历史记录确切地说明了为什么某些事情发生了变化,这就是为什么我需要保留完整的单个文件历史记录(我不需要提交任何不影响的提交历史记录)正在拉入的文件)。我从中提取的一些存储库最初是svn repos,我转换为git,但这可能不会引起任何问题,因为回购历史似乎存在。

有时候我正在合并来自外部存储库的文件,如果我可以为两者保留某种历史记录是理想的,虽然我不确定这是否可能,很多时候我会覆盖文件而我希望拥有新文件的历史而不是旧文件的历史,或者至少标记合并的来源,但这并不像我在提交中标记原点那么重要。

为此使用Mercurial会更容易吗?

0 个答案:

没有答案
相关问题