[英]how to rename/unite directories by git for all commits
保留具有以下目录结构的Git存储库(从SVN转换而来):
/
Release 1
sub_dir1
somefiles1
sub-dir2
somefiles2
Release 2
sub_dir1
somefiles1
sub-dir2
somefiles2
Release 3
sub_dir1
somefiles1
sub-dir2
somefiles2
...
SVN回购历史记录的注释:
每年,某些砍肉刀机构都会采用最新的发行版,并将其复制到新的发行版中,并在同一仓库中添加下一个编号。 因此,任何发行版的sub-dir / files结构几乎相同。 但是每个发行版都有不同的历史记录时期。
对于每个提交(漏洞回购)如何:1将所有ReleaseX根重命名为一个名为“ Release”的目录? 2保留/合并所有版本的任何文件的提交历史记录?
结果仓库必须看起来像:
/
Release
sub_dir1
somefiles1
sub-dir2
somefiles2
另外,我可以将每个ReleaseX从svn转换为单独的repoX。 对于每个repoX,我需要将ReleaseX重命名为Release。 比我需要统一所有存储库...U。 但我认为这是一条小路
当前的方法似乎过于复杂。
需要咀嚼的东西:
您是否考虑过为每个版本创建单独的分支,而不是每次都创建一个新目录? 快速git checkout release-1
将带您进入Release 1源码-与cd release-1/
类似
--o---o---o---o---o---o---o---o---o---o---o---o---o---o-Master/Latest Release | | | \--release-1 \--release-2 \--release-3
这使您可以git merge
任何分支git merge
到一起。 这种方法还可以减少您的回购规模(奖励!),出于性能原因,这总是很好的。
可能的启发: http : //nvie.com/posts/a-successful-git-branching-model/
这也使修补更容易。 您可以修复发行版1,然后很容易地为其他发行版生成补丁。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.