使用git部署网站,仅部署最新版本并跟踪本地更改

时间:2016-08-25 09:07:04

标签: git svn

我对使用GIT将网站部署到实时网络服务器的推荐方式提出了疑问,但也能够跟踪网络服务器上的更改。

我们如何使用SVN进行背景和旧方式: 我们开发网站,将它们部署在客户服务器上(不受我们控制),并将项目交给客户和他自己的网站管理员。有时,多年后我们不得不对网站进行更改。

要跟踪(小)网站的本地更改,例如当网站管理员修正拼写错误时,我们会将本地SVN工作副本签出到网络服务器,而不仅仅是SVN导出。

通过配置网络服务器,我们确保Web浏览器无法访问隐藏的.svn目录。

通过使用此配置,我们能够跟踪网络服务器上的更改。我们知道一些元数据和网站副本被部署到客户服务器(在.svn文件夹中)这一事实,但在过去10年中,这种设置没有一个问题。

现在我们正在将我们的SVN回购转移到GIT,并想知道如何用GIT实现同样的目标。 唯一的区别是,我们不希望整个GIT仓库以及客户网络服务器上的所有提交。有些项目已有15年历史,有数千个提交,我们没有理由将整个历史记录部署到客户服务器上。我们可以愉快地使用隐藏的.git目录中的最新提交,就像以前的SVN一样,来跟踪本地更改。

不幸的是,我们无法找到解决该问题的任何方法,所以我在这里问我们如何做到这一点。

PS:我们想完全摆脱SVN,所以git-svn似乎不是一个解决方案。

谢谢你, 贝尔尼

1 个答案:

答案 0 :(得分:0)

Git允许使用--depth选项创建存储库的浅克隆。使用以下命令创建仅包含上次提交的副本:

git clone --depth 1 https://example.com/myrepo.git

请确保您的git版本为1.9或更高版本。早期版本对浅层克隆的支持有限。

来自git-clone Documentation

  

- 深度<深度>

     

创建一个浅层克隆,其历史记录被截断为指定的提交次数。 [...]