【发布时间】:2011-02-27 10:26:00
【问题描述】:
我是一名 Ruby on Rails 开发人员,想在下一个项目中使用 Git,但我不太确定如何开始学习。
我有太多基本问题,例如“我可以从存储库运行我的应用程序吗?”或“我可以在实时站点中进行回滚吗?”
我们将不胜感激。
【问题讨论】:
标签: ruby-on-rails git github
我是一名 Ruby on Rails 开发人员,想在下一个项目中使用 Git,但我不太确定如何开始学习。
我有太多基本问题,例如“我可以从存储库运行我的应用程序吗?”或“我可以在实时站点中进行回滚吗?”
我们将不胜感激。
【问题讨论】:
标签: ruby-on-rails git github
“我可以从 仓库?”
不,您的存储库只保存您的文件及其版本。您必须重新下载存储库中文件的最新版本,并将它们复制到您的网络服务器以更新您的应用。
"我可以在直播中回滚吗 网站?”
不,您必须在 github 中回滚并替换您网站上的文件,就像您进行更新一样。
Github 的帮助部分下已经有 some good tutorials 帮助您快速入门。
【讨论】:
根据您的用例,您可以从您的 git 存储库运行所有内容。本质上,您已经有了项目结构,并且在根目录中有一个隐藏的“.git”目录,其中包含与您的存储库相关的所有历史记录和其他信息。我认识 TekPub.com 网站的所有者,所以我有偏见,但他们有一个很好的 Git 入门系列。
我还会查看“http://git-scm.com/documentation”以获取一些好的资源。
【讨论】:
您不能从存储库运行您的应用程序,但您可以将域托管到包含几乎静态 html 文件的存储库。我知道托管在 github 上的各种博客。可能想看看 - http://pages.github.com/
【讨论】:
除了上面的建议之外,还有一些额外的阅读,Rails 教程书 - 介绍了使用 Git 和 RoR。它会给你基本的想法。
【讨论】:
StackOverFlow 为您提供了一个很棒的帖子
【讨论】:
由于您的问题的核心涉及如何在版本控制环境中部署 Rails 应用程序,我很惊讶没有人提到 Capistrano 或 Vlad the Deployer。这些流行的部署工具可以作为您的存储库与实际应用之间关系的模型。
这是 Capistrano 的做法。当您告诉它部署时,它会在您的服务器上创建一个新的带有时间戳的目录,其中包含您存储库中的最新版本。这个带时间戳的目录符号链接到您的网络服务器查找您的应用程序的实际目录。 Capistrano 完成从 git 检索所有文件后,它会将符号链接切换为指向新目录。如果您发出回滚命令,它只会将符号链接更改为指向下一个较旧的带时间戳的目录(您通常会保留几个较旧的目录)。
此模型的最大好处是更改符号链接会立即升级/降级应用程序中的每个文件,因此不会出现延迟或缺少依赖项的问题。
您当然可以自己实现此模型(或类似模型),或者您可以使用这些工具中的任何一个来为您完成。
【讨论】:
免费学习 Git 的最佳方式是访问 gitcasts.com。 Scott Chacon 非常擅长解释这些概念。如需精彩介绍,请查看http://www.gitcasts.com/posts/railsconf-git-talk
我还建议阅读在线书籍 progit.org/book。
另一个有用的事情是在 tweetdeck 中为#git 设置一个搜索列。那里总是有有用的帖子。
最后,IRC 上有#git 频道。
【讨论】:
您不一定要一次性完成所有操作。
Git 可以愉快地为大量其他 VCS 提供前端服务,例如 SVN 和 perforce。因此,一个简单的方法可能是:
【讨论】: