git - 推送没有历史记录、带有子模块、没有大量变基的 Git Head?
问题描述
我有一个处于病态状态的 git 存储库,因此各种检查因偏离主分支、LFS 失败和冲突而失败。但是,存储库的负责人工作正常。我想通过创建一个新的存储库来获取当前状态并重新开始。如何在切断剩余历史记录的同时导出当前磁头?
理想情况下,我想保留
- 文件的当前状态
- 将当前 LFS 文件保存在 LFS 中
- 保留
.gitignore
配置但忽略历史离子.git
文件夹 - 将子模块作为子模块作为子模块
我看到这git archive
将导出但会破坏所有 git 结构,并且我不希望之后会得到一个 git 存储库。关于 SO( here )的一个类似问题讨论了如何归档子模块,但我不希望只是原始导出,我希望子模块仍然是子模块,并且只保留没有历史记录的头部。另一个问题在这里非常相似,但解决方案是 rebase 和 squash 但我认为我不能应用所有 5156 个旧提交,因为一些 LFS 文件已经丢失。
是否有捷径可寻?我的想法是我可能必须归档然后重新制作子模块并从旧文件中导入忽略。
解决方案
推荐阅读
- python - 在Python中:如何在变化的参数值下制作洛伦兹系统的分岔图?
- c# - SQL to LINQ - 案例语句
- c++ - 如何从 unique_ptr 制作 static_cast
- vba - 选择多个项目时,ListBox 循环跳过第一个项目
- python - 使用布尔数据框更改数据框中的值
- javascript - Babel 和 Mocha 的问题:使用 ES6 导入系统
- kubernetes - Google Cloud 上的 Kubernetes 服务,cookie 未通过
- bash - 如何理解这个 find 与 while 循环在 Bash 中的工作原理
- puppeteer - 使用 puppeteer 的 Web 组件 SSR
- angular - Angular Material Reactive 表单单选按钮组不起作用