簡體   English   中英

github上傳文件功能如何工作?

[英]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-treegit update-ref插入新的提交。 這些管道命令不需要單獨的工作樹目錄。 但是,如果您有一個工作樹目錄會更容易,因為這會使用戶界面命令起作用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM