如何cherry-pick包含加密文件的commit 迁移带加密文件的Git仓库历史
git-crypt加密Git仓库全量迁移(含提交历史)实操方案
针对已使用git-crypt加密、需要将全部仓库内容及提交历史完整迁移到新仓库的场景,以下为亲测可运行的操作步骤:
- 执行
git init完成新仓库初始化 - 在旧仓库本地目录执行
git-crypt export-key ~/kf导出加密密钥 - 全程不要解锁新仓库
- 参照旧项目的加密规则配置新仓库的加密目录,提交
.gitattributes文件到新仓库 - 保持新仓库处于未解锁状态
- 在新仓库的
.git/config文件中配置旧仓库的远程地址,执行对应cherry-pick操作同步全部提交历史 - 执行
git-crypt unlock ~/kf解锁新仓库,按需添加协作者即完成迁移
本方案已通过实操验证,如有更优实现方式欢迎补充。
内容的提问来源于stack exchange,提问作者Martin Mucha
相关产品推荐
相关产品推荐

