直接写入远程Git存储库,而不将对象添加到本地索引/存储库?

时间:2010-04-25 07:09:55

标签: git

Git是否支持任何允许我直接从本地/工作树提交到远程存储库的命令?正常的工作流程需要“git add”,至少要用文件内容的副本填充对象数据库等。

据我所知,这不是正常的,预期的Git工作流程。但我注意到Git已经支持直接从存储库下载,没有本地存储(“git archive”),所以可能存在类似的上传操作似乎是合理的。

或者,如果核心Git本身没有这样的命令,那么第三方软件是否支持直接远程写入?

2 个答案:

答案 0 :(得分:2)

据我所知,没有(不是直接,最后看到我完成的答案):

以下是本地和远程仓库之间的official Git data workflow

alt text http://osteele.com/images/2008/git-transport.png

如您所见,git add与索引相关,并且不会影响您的本地回购。
所有命令集都可以帮助实施一些publication policies

alt text http://osteele.com/images/2008/commit-policies.png


直接影响具有本地更改的远程仓库的唯一方法(因为工作目录中的更改完全不为Git所知)将是:

git diff -p origin > diff_not_in_origin.patch

发送补丁并看到“origin”服务器有某种触发器,git am自动补丁。

答案 1 :(得分:1)

我自己没有尝试过,但您可以尝试使用CVS访问您的git存储库,使用“git cvsserver”。您仍然需要本地工作副本,但它只包含一个项目文件副本和一些CVS元数据。