Git 如何同步/镜像';文件';存储库和';吉特';SourceForge中的存储库?

Git 如何同步/镜像';文件';存储库和';吉特';SourceForge中的存储库?,git,file,sourceforge,Git,File,Sourceforge,我们目前正在sourceforge中构建一个社区实用程序存储库,该存储库将由几个“管理者”管理,但社区可以访问。 我最初已将所有实用程序上载到项目的“文件”选项卡中。在这之后,我可以看到git也可以被使用,这对我们来说似乎很方便 因此,我们在git/SourceForge中创建了项目存储库,并推动了整个项目,这很好 问题是,我强烈感觉sourceforge“文件”选项卡中列出的文件与我在“Git”选项卡中看到的文件完全不同 我们希望从git管理文件,但要让文件在“文件”选项卡中可见和可用 这可能

我们目前正在sourceforge中构建一个社区实用程序存储库,该存储库将由几个“管理者”管理,但社区可以访问。 我最初已将所有实用程序上载到项目的“文件”选项卡中。在这之后,我可以看到git也可以被使用,这对我们来说似乎很方便

因此,我们在git/SourceForge中创建了项目存储库,并推动了整个项目,这很好

问题是,我强烈感觉sourceforge“文件”选项卡中列出的文件与我在“Git”选项卡中看到的文件完全不同

我们希望从git管理文件,但要让文件在“文件”选项卡中可见和可用

这可能吗?我感觉“文件”选项卡中的文件与“Git”选项卡中的文件存储在不同的位置


提前感谢

是的,它们位于SF的完全不同的位置,您无法自动同步它们。无法同步git和文件的原因之一是SF的git存储库是空的,它们不包含工作目录,只包含对象数据库和引用

您知道您可以使用登录SF,并在SF之间传输文件吗?自2004年以来,我一直在使用它

要登录到您的帐户,请运行

ssh -t $SF_USER@shell.sourceforge.net create
登录后,运行
sf help--all
查看所有目录

文件、存储库和web文件(您知道您可以在SF发布网站吗?)位于项目特定路径中。例如,我是project的成员,我在SF的用户名是
phd
。项目的存储库位于
/home/git/p/sqlobject/
,文件位于
/home/frs/project/sqlobject/
,web文件(发布于)位于
/home/project web/sqlobject/
。这些只是一个例子,但您的目录是相似的

要上传文件,我使用
sftp-frs.sourceforge.net:/home/frs/project/sqlobject
并将本地文件上传到SF

要更新我运行的网站

rsync -hlrtP4 --del . web.sourceforge.net:/home/project-web/sqlobject/htdocs/

sqlobject
替换为项目名称并开始上载。

是的,它们在SF中位于完全不同的位置,您无法自动同步它们。无法同步git和文件的原因之一是SF的git存储库是空的,它们不包含工作目录,只包含对象数据库和引用

您知道您可以使用登录SF,并在SF之间传输文件吗?自2004年以来,我一直在使用它

要登录到您的帐户,请运行

ssh -t $SF_USER@shell.sourceforge.net create
登录后,运行
sf help--all
查看所有目录

文件、存储库和web文件(您知道您可以在SF发布网站吗?)位于项目特定路径中。例如,我是project的成员,我在SF的用户名是
phd
。项目的存储库位于
/home/git/p/sqlobject/
,文件位于
/home/frs/project/sqlobject/
,web文件(发布于)位于
/home/project web/sqlobject/
。这些只是一个例子,但您的目录是相似的

要上传文件,我使用
sftp-frs.sourceforge.net:/home/frs/project/sqlobject
并将本地文件上传到SF

要更新我运行的网站

rsync -hlrtP4 --del . web.sourceforge.net:/home/project-web/sqlobject/htdocs/

用项目名称替换
sqlobject
,然后开始上传。

太好了!非常感谢。现在我明白它是如何工作的了。考虑到我可以在sourceforge服务器上使用ssh,我打赌git克隆可以将文件选项卡提供给sourceforge git存储库,在这种情况下,这对我来说非常适合。只要每次从某个存储库管理员推送时都需要git pull,这是行不通的:权限不足以创建.git存储库。我将尝试使用rsyncIt,因为FRS和web不允许文件名以点开头
rsync--exclude=.git/
太棒了!非常感谢。现在我明白它是如何工作的了。考虑到我可以在sourceforge服务器上使用ssh,我打赌git克隆可以将文件选项卡提供给sourceforge git存储库,在这种情况下,这对我来说非常适合。只要每次从某个存储库管理员推送时都需要git pull,这是行不通的:权限不足以创建.git存储库。我将尝试使用rsyncIt,因为FRS和web不允许文件名以点开头
rsync--exclude=.git/