使用git管理大型网站

5
我正在寻求关于如何在拥有大量HTML内容的网站上使用Git的建议。
我们有两个内容管理员进行基本的HTML编码并将其上传到服务器。我是唯一的开发人员。
该网站的内容几乎平均分为两类。首先是发布到数据库并在整个网站上显示的新闻内容。另一半的内容是HTML格式的。该网站使用模板系统,所有HTML页面都只是页面的内容部分。模板系统添加页眉、页脚和导航。整个网站约为3.5 GB(我们有很多PDF和图片)。
第一个问题是,如果我将所有内容都转储到Git中,会发生什么?我感觉一开始会没问题,但随着更改的进行和网站的增长,Git存储库是否会变得难以管理?
第二个问题是,由于模板系统,内容管理员无法在本地机器上查看他们的工作,除非进行完整的Web服务器设置。如果可能的话,我想避免这种情况。我在办公室有一个测试服务器,但我无法弄清楚如何让Git GUI在本地计算机上运行,但引用远程服务器上的文件。简单地通过SSH运行“git gui”会返回错误,并且教授他们所有Git命令是不可行的。
任何建议都将是很大的帮助。我们目前没有使用任何版本控制,情况一团糟。人们不断地互相覆盖工作,并且我们没有简单的方法将更改从测试服务器移动到生产服务器。
2个回答

6
不用担心大小。我们已经将git推入了“疯狂的领域”,一棵树有5.9G和57k个文件。仓库是3.6G(git非常好地压缩)。检出、合并、提交、推送、拉取——所有这些都可以尽可能快地完成。唯一需要时间的是切换到一个非常旧的分支(可能需要一两分钟),或者通过网络克隆一个新的仓库(可能需要10或20分钟)。这只是因为我们在树中有太多的数据。
git GUI前端。如果没有一个适合你,你可以搭建一个Web服务器并安装其中的许多git Web前端之一。

2
我可以证实这一点;我们使用git来管理一个超过40k个文件的8GB代码库,没有任何问题。 - linked
@Michael,确实是这样。谢谢。 - Wayne Conrad
这回答了问题的第一部分。大小不应该是问题。那么使用通过ssh连接的git gui呢?这可行吗? - respectTheCode
Git可以通过SSH工作,但我不知道是否有适用于它的GUI界面。谷歌确实找到了这个,但我无法保证它的可靠性:http://sourceforge.net/projects/ssh-gui/。 - Wayne Conrad
我似乎找不到任何方法使git gui通过ssh工作。这意味着我需要在两个内容管理器计算机上安装完整的服务器设置。感谢您对大小问题的快速回复。 - respectTheCode
Kevin,不用谢。我找到了一个包含许多Git前端的列表,包括GUI和Web界面。我在我的回答中添加了一些链接。 - Wayne Conrad

0
如果你想要以一种简单的方式使用分布式版本控制系统(如Git),那么可以尝试使用Mercurial(hg)。它的工作方式与Git差不多,但通常更容易使用。然而,Git更加灵活,允许做各种技巧,但结果是使用起来更加困难。
Mercurial还有非常好的Windows shell扩展程序——TortoiseHG,这使得即使对版本控制没有特别经验的人也能够非常简单地使用HG。
不用担心任何情况下的仓库大小,Linux内核保存在Git中,而Java 7 JDK开发人员使用Mercurial,这些都是庞大的项目。

我宁愿不更换系统,但你提到的尺寸问题确实有道理。 - respectTheCode

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接