git - 以编程方式创建本地“.git”存储库
问题描述
问题:我有带有子文件夹/文件的根文件夹,我需要以编程方式在这个根文件夹中创建 git 存储库(不使用 git 工具)。一般结构应该很简单——新的 repo 和所有文件只有 1 次提交。
我试图找到.git
文件夹的规范,但没有找到很好的解释如何在文件夹中编码和生成objects
文件夹和index
文件.git
。你能指导我怎么做吗?
并发症:如果我解决了这个问题,还有 1 个额外的并发症 - 一些文件可能会被更改。例如,我在内存中有原始文件数据,我需要使用这个数据+文件路径。
谢谢 :)
解决方案
您可以通过检查普通存储库的内容和格式并阅读网站上链接的 Pro Git 书籍来手动完成此操作,但我强烈建议您不要这样做。Git 存储库相当复杂,最好使用git
二进制文件或 libgit2 的绑定(它具有多种语言的绑定)。
自己做会有创建损坏对象的风险,如果这样做,您的存储库通常将无法被推送到任何地方,因为大多数托管服务提供商拒绝格式错误的数据。您还将面临数据丢失的风险。
如果您不想使用 Git,libgit2 是一个不错的方法,但请注意,与 Git 二进制文件相比,它缺少一些功能(例如 SHA-256 存储库支持)。
推荐阅读
- php - 我尝试使用 ajax 在 laravel 中搜索。我发布了两个变量,但我的查询不起作用这是我的代码
- python - Nsetools API 在 ec2 实例上部署时不起作用
- shapefile - QGIS:QGIS3.10 中的矢量图层问题
- ios - 将从另一个协议继承的协议设置为关联类型会产生错误
- javascript - 为什么 state 的值在异步函数中只评估一次?
- google-sheets - 不同交易对中的买卖交易汇总为一个“成本”
- android - Android Jet Pack Jetifier:原因:无效的文字/长度设置
- python - 使用python过滤列表中的任何数字或列表中的任何字符串,而不使用另一个列表
- javascript - 如果子元素具有活动类,则 DOM 访问上一个元素的父元素
- python - 在 CMD 中获取 404 1668 并且无法连接我的 css 文件 im html