php – 将没有VCS的生产站点迁移到Git

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – 将没有VCS的生产站点迁移到Git脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我以为我会把它扔到那里,看看我是否可以就此得到一些可靠的建议.

我有一个拥有相当大代码库的生产站点,刚刚安装了Git,与测试站点相同.而且我有一个基本上是整合点的本地盒子.我们的团队将推向当地的盒子,小侏儒将来到我们不同的服务器或者至少那是我最接近实施GIT.

我真的没有丝毫的线索从哪里开始.我有一个庞大,挑剔,遗留的代码库,我很害怕在美好的一天触摸. Git是一个大清理过程的起点,我只是不知道如何开始.

我正在考虑根据我的生产docroot(使用适用的.gitignore东西)创建一个简单的.git repo,然后克隆到测试和开发环境,然后个人将克隆dev并开始工作,推回dev,然后以某种方式神奇地告诉git在更改裸仓库时更新docroot.

我打算在开发时安装git-flow(不能让它在我的生产服务器上运行),然后推送到生产环境.因为它们在一天结束时只是分支,所以我觉得我可以在PRod / test服务器上不使用git-flow.

这似乎一切都很好,我只是不知道我是应该推动测试/刺激,还是从dev开始测试/刺激.也许只是生产docroot中的直接git init?创建一个.git目录和git init到那个? Git init git giggidy giggigdy …

我们非常感谢.

编辑

这是我最终做的事情,希望其他人会觉得它很有用.

将当前生产代码下载到开发服务器(LamP)
设置.gitignore文件并在目录中运行git init并执行初始导入/提交
在临时/生产服务器上:
创建了YOURNAME.git目录,并使用git init –bare创建了裸存储库
将worktree设置为/ path / to / my / public_htML,将bare设置为false,并将receive.denycurrentbranch设置为ignore
为hooks / post-receive添加了一行:git checkout -f确保我的git用户有权写入工作树

回到开发服务器:
git remote add [staging | production] ssh://myuser@myserver/path/to/my.git
git push [staging | production] master

要更新我的生产和登台站点,它是一个简单的git push [production | staging],我不必大惊小怪从公共视图中隐藏.git目录.

资料来
http://www.deanoj.co.uk/programming/git/using-git-and-a-post-receive-hook-script-for-auto-deployment/
http://toroid.org/ams/git-website-howto

希望这有助于某人!

再次编辑
此外,在1.7.3.3或更高版本上效果最佳.我正在运行一个虚拟化的ubuntu框用于开发,并遇到了一些通过Samba提交的问题.在与此斗争了几个小时之后,请阅读1.7.3.3中修复的问题.我在1.7.3.1.

解决方法

如果您对进入Capistrano等较重的部署解决方案不感兴趣,那么您可以在裸存储库上设置一个post-receive挂钩,检查生产docroot中的最新更改.您可以为开发和生产设置单独的挂钩.这是一个 pretty good guide这样做.

脚本宝典总结

以上是脚本宝典为你收集整理的php – 将没有VCS的生产站点迁移到Git全部内容,希望文章能够帮你解决php – 将没有VCS的生产站点迁移到Git所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。