繁体   English   中英

如何通过git为所有提交重命名/统一目录

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM