我在搞Ruby ruby gem ......看我怎么用它来管理/访问正在运行的Gitosis服务器。有谁知道是否可以添加/提交文件到本地裸回购,还是我需要设置本地“正常”回购,并使用SSH将其推送到本地主机上的裸回购?是否可以添加/提交文件到本地裸Git仓库的索引?
回答
你应该能够做到这一点使用低级别管道命令:
$ generate_contents | git hash-object -t blob -w --stdin $ git update-index --cacheinfo 100644 sha1 path
其中SHA1是一个命令的结果。
但是裸仓库只能用于插入或取出。裸仓库不需要索引!
您需要一个工作树来将文件添加到索引并提交它。
虽然可以通过管道命令直接更改裸Git仓库的内部内容,但我真的建议设置一个普通克隆,修改它并将结果提交回裸仓库。
由于git update-index --add --cachinfo
是很重要的一个文件添加到索引,注意cacheinfo有一个新的语法:
--cacheinfo <mode>,<object>,<path>
--cacheinfo <mode> <object> <path>
直接插入指定的信息到索引。
为了向后兼容,您还可以将这三个参数作为三个单独的参数,但鼓励新用户使用单参数表格。
见commit ec160ae通过Junio C Hamano (gitster
),2014年3月,混帐的2.0+部分:
update-index
:教--cacheinfo
一种新的语法 “mode,sha1,path
”的 “
--cacheinfo
” 选项是不寻常的,因为它需要三个选项参数。
带有可选参数的选项已足够糟糕。
具有多个参数的选项简直是疯了。引入一种新的语法,将这三件事用逗号连接在一起,这使得跨子命令的命令行语法更加一致,同时保留了向后兼容性的传统语法。
注:唯一的Git 2.0.X/2.1(Q3 2014)取NULL案件的护理:
见commit c8e1ee4通过Jeff King (peff
):
运行 “
git update-index --cacheinfo
” 没有任何进一步的参数导致段错误而不是错误消息。 Commit ec160ae(更新索引:教--cacheinfo
一个新的语法“mode,sha1,path
”,2014-03-23)添加代码来检查参数的格式,但忘记处理NULL的情况。从解析器返回一个错误就足够了,因为我们将它视为旧式的“
--cacheinfo <mode> <sha1> <path>
”,并且抱怨我们读取的参数少于3个。
- 1. git p4从裸仓库提交?
- 2. 不能将文件添加到Git仓库中,但可以改变/提交
- 3. 如何提交到裸仓库?
- 4. 是否可以同时将文件添加到多个git仓库?
- 5. 裸仓库可以有索引吗?这是一个错误?
- 6. GUI裸git仓库
- 7. 是否可以检索添加到索引的文件?
- 8. Git仓库提交
- 9. 在git仓库中添加并提交文件不工作
- 10. 在git仓库中提交uncommited文件
- 11. 将文件添加到git索引而不提交
- 12. 从裸仓库GIT拉
- 13. 从非git文件夹添加/提交裸露回购
- 14. 我可以添加文件到我的本地Git仓库,但不会将它推送到远程
- 15. 是否可以将本地依赖添加到.podspec文件?
- 16. 进口git仓库提交到SVN
- 17. Lucene - 是否可以将文档添加到索引的“开始”
- 18. 如何删除本地git仓库中的特定提交?
- 19. 可以将外部目录添加到现有的Git仓库
- 20. (Git)是否有可能在远程仓库中存在不在本地仓库中的文件夹?
- 21. 是否可以编辑旧的git提交中的文件?
- 22. 将文件从文件夹移动到本地git仓库
- 23. 是否可以使用一个git仓库来管理几个git仓库?
- 24. 推送到远程git仓库索引
- 25. 我可以从Git仓库中删除最初的提交吗?
- 26. 从git仓库克隆并提交到新仓库
- 27. 文件夹添加到Git仓库为二进制文件
- 28. 是否可以将本地扩展添加到Actionscript库项目?
- 29. 是否可以将git仓库推送到另一个仓库(例如,github页面)的文件夹?
- 30. 是否可以在`git clone`的仓库以外下载一个大文件?
git update-index返回'致命:未知选项--cache-info'。 git version 1.7.2.5 – NaN 2012-08-11 15:58:03
'git update-index --add --cacheinfo 100644 sha1 path' should work! – NaN 2012-08-12 07:43:59
谢谢@NaN,修正了。 – 2012-08-13 14:18:23