ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Rails Girls 旅游无障碍地点应用教程:用 Git 为 Rails 项目开启版本控制

Rails Girls 旅游无障碍地点应用教程:用 Git 为 Rails 项目开启版本控制 教程后端【免费下载链接】guides.railsgirls.comRails Girls Guides项目地址https://gitcode.com/gh_mirrors/gu/guides.railsgirls.com点击查看免费下载本指南是 Rails Girls Galway 活动推出的Touristic Autism-friendly Spots App旅游无障碍地点应用系列教程的第 2 步见系列目录。你将学会为第 1 步生成的railsgirls-galway-2014Rails 应用初始化 Git 仓库、用.gitignore排除频繁变动的文件、执行完整的 add-commit-push 工作流并将本地代码推送到 GitHub 远程仓库。学完本步你的应用源码将获得版本历史、云端备份与协作分享能力为后续的资源建模、评分、图片上传等功能的持续开发打下版本管理基础。教程定位为什么旅游无障碍应用需要版本控制在《Basic Web Application》中你已经通过rails new railsgirls-galway-2014生成了一个 Rails 应用骨架它反映了 Model-View-ControllerMVC架构模式包含app、config等目录。从现在开始代码将不断演化新增用户认证devise、地点资源、评论、评分等功能。此时引入 Git 版本控制能让你随时查看改动历史、回退错误修改并把代码安全地托管到 GitHub 上与他人协作。Git 是一个用于保存应用源码、查看随时间变化、在线共享代码并协作开发的工具。当前步骤的目标非常直接把本地新生成的 Rails 项目放入版本控制并推送到远程仓库之后整个系列教程都会反复使用add-commit-push这一循环来保存每一次功能迭代。前置准备安装 Git 并配置身份在开始之前请确保你的机器上安装了 Rails 和 Git。按照安装指南完成环境搭建后还需要在终端中配置 Git 的全局身份信息这样每一次提交都会带上是谁在何时做了修改的记录git config --global user.name Your Name git config --global user.email your.emailexample.com这是一次性的全局设置--global表示对所有仓库生效此后无需重复配置。注意这里填写的姓名和邮箱会随提交对外可见也可以使用昵称或别名。如果你还没有 GitHub 账号请先注册一个免费的 GitHub 账户参考《Push your app to GitHub》中更详细的账户与认证准备说明。第一步进入应用根目录并初始化仓库导航到第一个应用railsgirls-galway-2014的根目录然后初始化一个新的 Git 仓库$ git init该命令会在当前目录下创建一个隐藏的.git目录它是 Git 用来记录版本元数据的本地仓库。此时你的项目尚未被 Git跟踪接下来要先告诉 Git 哪些文件应当被忽略。第二步扩展 .gitignore忽略频繁变化的文件在把项目加入版本控制之前我们需要告诉 Git 哪些文件应当被忽略——因为这些文件过于频繁变化、属于机器生成物或包含本地敏感信息不应纳入版本历史。rails new命令已经自动生成了一份.gitignore文件本教程建议在其基础上追加以下内容# Ignore other unneeded files. database.yml # Ignore Rails documentation files doc/ # Ignore Vim and Emacs swap files *.swp *~ .project # Ignore (for macOS users) the .DS_Store directories created by the Mac Finder application .DS_Store .idea .secret逐条理解这些规则规则作用database.yml数据库配置文件常包含本地连接信息且随部署环境开发/测试/生产频繁变化不应提交doc/Rails 生成的文档目录属于可再生内容*.swp/*~/.projectVim、Emacs 等编辑器的交换/备份文件以及 Eclipse 项目文件属于编辑器私有产物.DS_StoremacOS Finder 自动生成的目录属性文件仅本机有效.ideaJetBrains 系列 IDE 的项目配置目录属开发者个人环境.secret敏感密钥文件绝不应进入版本库这些规则保证了仓库中只保存真正属于项目的源码避免把个人环境噪音和敏感信息带入团队共享的历史记录。忽略规则是后续一切提交的干净前提这也是本步骤独立成节的原因。第三步暂存全部改动并查看状态现在把项目文件加入版本控制。下面的命令会递归地把当前目录下的所有子目录和文件加入暂存区staging areagit add .git add命令把项目文件添加到暂存区——一个包含待提交pending改动的区域。你可以用状态命令查看当前暂存区中到底有哪些文件$ git status输出会以绿色列出已暂存的新文件以红色列出尚未暂存或已被修改的文件。这是一个非常实用的体检命令建议在每次 add 之后、commit 之前都运行一次确认将要提交的内容符合预期。第四步用提交消息保存本地快照暂存完成后提交这些改动并用一条消息说明提交的原因$ git commit -m Initialize repository-m即 message消息之意。这里有几个关键概念需要理解提交是纯本地的Git 的提交只记录在你执行提交的这台机器上尚未同步到任何远程服务器。这正是为什么下一步需要显式地推送。提交消息要描述性好的提交消息应当主动active、描述性强且简短参考《Push your app to GitHub》中教练环节的建议方便日后在历史中回溯某次改动做了什么、为什么。查看所有提交消息的列表$ git loggit log会按时间倒序列出全部提交包括提交哈希、作者、日期与消息查看完毕后输入q即可退出这是分页器 less 的退出键。第五步创建 GitHub 远程仓库并推送提交只是在本地现在我们要把改动从本地机器推送到远程仓库。首先在 GitHub 上创建一个名为railsgirls-galway-2014的新仓库并填写相关信息。注意不要勾选初始化 README 文件因为rails new已经自动生成了 README如果 GitHub 再生成一份会导致推送时历史冲突。随后在本地终端中把远程仓库地址关联到名为origin的 Git 远程remote上并推送本地提交$ git remote add origin https://github.com/username/railsgirls-galway-2014.git $ git push -u origin master命令拆解git remote add origin url在当前仓库中登记一个名为origin的远程连接指向你刚创建的 GitHub 仓库。这里的username替换为你的 GitHub 用户名。git push -u origin master把本地master分支推送到origin远程-u--set-upstream同时建立本地分支与远程分支的跟踪关系此后直接运行git push即可。分支名注意如果你的仓库默认分支名是main新版 GitHub 常见请把master换成git branch输出中标有*的当前分支名。推送时若提示认证GitHub 目前已不再接受账号密码推荐使用Personal Access TokenPAT作为密码进行 HTTPS 认证在提示Password时粘贴你的 PAT 即可粘贴时终端不会回显切勿重复粘贴。具体创建 PAT 的步骤Settings → Developer settings → Personal access tokens → 勾选repo权限可参考《Push your app to GitHub》中的详细说明。推送成功的最终结果是 GitHub 上出现一个属于你的应用仓库页面形如https://github.com/your username/railsgirls-galway-2014。这个页面提供了友好的代码渲染、分享功能和统计信息——你可以亲自打开自己的仓库地址查看效果。教练环节GitHub 上的分支-编辑-提交-合并工作流本教程面向工作坊现场配套教练标签渲染为醒目的提示块。此环节建议教练现场讲解并演示 GitHub 上的branch-edit-commit-merge分支-编辑-提交-合并工作流具体练习是修改 README 文件使其更具描述性。推荐的演示路径分支git checkout -b improve-readme创建并切换到新分支让实验性改动与master/main主干隔离编辑用文本编辑器重写 README说明应用用途如为自闭症友好的旅游地点提供描述、评论与评分提交git add . git commit -m Improve README description保存改动合并git checkout master切回主干git merge improve-readme把分支改动并入主干必要时处理合并冲突。这个工作流正是 Git 协作的核心形态分支让多人/多特性并行开发互不干扰合并把成果安全地汇集回主干。练习完成后记得再次 add-commit-push把 README 的改进推送到 GitHub。后续开发中的持续 add-commit-push 循环版本控制一旦建立就会贯穿整个系列教程。在后续步骤中每完成一个功能块都会要求你执行同样的add-commit-push循环在《Resource Modeling》中为 user/place/comment 三个资源添加 devise 认证、scaffold 生成与关联建模后多次出现Lets add-commit-push to your GitHub repo!的提示在《Design》引入 Bootstrap 样式、在《Image upload and Thumbnails》实现图片上传后同样需要提交推送在《Continuous Deployment》中你甚至会为 OpenShift 部署添加第二个远程仓库并执行git push -f --set-upstream openshift master体会多远程仓库的协作方式。日常增量提交的标准三连git add . git commit -m Type your commit message here git push origin master养成每完成一个可运行的小功能就提交一次的习惯会让你的提交历史清晰可读也便于随时回退。小结至此你的 Rails 旅游无障碍地点应用已经完成版本控制的初始化git init建立本地仓库.gitignore屏蔽机器生成物与敏感文件git add/git commit形成可回溯的本地历史git push -u origin master将代码托管到 GitHub。接下来请进入系列第 3 步《Resource Modeling》开始为应用建模 user、place、comment 资源想要更系统地了解 Git 与 GitHub 的安装、PAT 认证与分支协作可继续阅读《Push your app to GitHub》。赞分享教程后端【免费下载链接】guides.railsgirls.comRails Girls Guides项目地址https://gitcode.com/gh_mirrors/gu/guides.railsgirls.com点击查看免费下载相关推荐Meshroom 文档自动化深入解析 Sphinx autosummary class.rst 模板与 meshroom_doc 指令Meshroom 文档自动化深入解析 Sphinx autosummary class.rst 模板与 meshroom_doc 指令 导读 本文围绕 Mes教程后端Rails Girls 教程用 ImageMagick 与 mini_magick 为 Rails 应用生成图片缩略图Rails Girls 教程用 ImageMagick 与 mini_magick 为 Rails 应用生成图片缩略图 本教程对应 Rails Girls 主教程后端为什么你的React组件总在无效重渲染why-did-you-render调试工具完全指南为什么你的React组件总在无效重渲染why did you render调试工具完全指南 如果你的 React 应用出现卡顿、列表一刷新整屏都在渲染、 Re开发工具前端上一篇终极游戏分屏改造指南用Nucleus Co-op让单机游戏变身多人派对下一篇eLabFTW电子实验笔记本终极指南从入门到精通的全方位解析创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表