我在搞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