[英]How does github upload file feature works?
我在某個時候看到了一篇關於 github upload a file
功能實際上並沒有克隆項目的 reddit 帖子,而是通過低級 api 修改了 git 歷史記錄。 我再也找不到那個 reddit 帖子了:-(
我有一個類似的要求將文件添加和推送到 git 存儲庫,但克隆整個存儲庫的成本非常高(文件很大)。 因此,我正在尋找低級 git api 命令來使用,以便將文件添加到存儲庫並推送而不克隆。
僅供參考 - 淺克隆對我不起作用,因為所有大文件都位於項目根目錄中。
還有其他類似的問題,但沒有解決方案 - 每個人都說這是不可能的。 考慮到github做到了,應該有辦法。
GitHub 擁有存儲庫,因此在 GitHub 上只需提取最新提交、寫入文件、更新索引和進行新提交即可。 1您可以在擁有整個存儲庫的任何服務器上執行相同的操作:接受文件、檢出所需提交、添加文件並進行新提交。
1實際上,您真正需要做的就是使用git read-tree
將提交讀入索引文件,使用git hash-object -w
寫入 blob 對象,然后就地更新索引並使用git write-tree
, git commit-tree
和git update-ref
插入新的提交。 這些管道命令不需要單獨的工作樹目錄。 但是,如果您有一個工作樹目錄會更容易,因為這會使用戶界面命令起作用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.