拥有一个简单的git存储库,如何在不必创建克隆或具有工作树的情况下提交新文件或修改。
答案 0 :(得分:2)
事实上,您可以在--bare
repo上运行各种git管道命令。但是你需要创建一个树(即使它是一个纯文本文件)某处以便创建一个树,你需要创建文件blob 某处以便添加为了制作那棵树,他们去了仓库,你需要写一个指向那棵树的提交,当你完成所有这些工作时,你也可以在某处创建一个工作目录。
(然后为了方便起见,你可能会把它变成一个非裸克隆,在拥有它们的系统上会尽可能使用硬链接,因此不会占用额外的空间。)
但是,如果您有一个非常特殊的情况,您可以使用git hash-object
将一个文件输入到repo中并获取其哈希值,然后git mktree
创建一个包含新文件的树(和其他现有文件),然后git commit-tree
写一个提交对象,然后git update-ref
做一个ref指向它。 (我记得,Pro Git book概述了这个过程。)
答案 1 :(得分:0)
答案 2 :(得分:0)
如果不克隆存储库,则无法从客户端执行任何操作。对于任何操作,如添加新文件或修改,您应首先克隆存储库。\
唯一的选择是在没有克隆的情况下通过您的GitHub UI进行。