【提取练习】Nic老师周四答疑:基础知识补充与开发技巧 |20170413
这是Nic老师周四答疑的提取练习,加上我自己收集的知识。
放下你的纠结
非常建议你不要在小白时期这样做
- 尝试搞懂“过多”的为什么,可以记下来,在周四提问助教。
- 了解一个需要花上超过一天的问题。
小技巧让你的开发更顺手
1、指令下错时的自救法
在 Rails 中,可以使用 rails destroy 命令完成撤销操作。一般来说,下面这两个命令是相互抵消的:
rails generate controller StaticPages
rails destroy controller StaticPages使用命令生成模型:
generate model User name:string email:string```
123456789101112131415161718192021222324252627 > 这个操作可以使用下面的命令撤销:> `rails destroy model User`> (这里,我们可以省略命令行中其余的参数)> 对模型来说,还涉及到撤销迁移。迁移通过下面的命令改变数据库的状态:> `rails db:migrate`> 我们可以使用下面的命令撤销前一个迁移操作:>`rails db:rollback`> 如果要回到最开始的状态,可以使用:> `rails db:migrate VERSION=0`> 你可能猜到了,把数字 0 换成其他数字就会回到相应的版本,这些版本数字是按照迁移执行的顺序排列的。> 知道这些技术,我们就能得心应对开发过程中遇到的各种问题了。### 2、Atom快捷篇1. `cmd+p` 快速开启档案2. 整个目录的文档中搜索单词,可以用`command + shift + F`3. 单个文档中搜索`command + F`4. mkdir是创建一个新的文件夹,touch是在某个文件夹里创建一个新的文件!mkdir是创建文件夹linux的指令 ,`rails g` 是ruby的语言。### 3、开发必须有始有终先打完开头和结尾。
def end
<%= %>
|
do … end
git config --global user.email johndoe@example.com
这样以后进行存档时,就会纪录你是这次进度的存档者。git init
默认情况下 git 不会对我们的项目进行版本控制,所以每次新建一个项目之后,需要使用 git init 这个命令,来告诉 git 对我们的项目进行追踪,但是这个命令只要使用一次就可以了,之后在这个项目里,你只要git add .添加变动 和git commit保存变动即可。
注意:千万不要在系统根目录下使用 git init,否则你整个电脑的所有文件都会被记录!git status
git status会告诉你 git 追踪到的所有新增、修改、删除的文件。
比如我们修改了gemfile和README.md两个文件,
然后我们输入git add README.md,再输入git status
你会发现README.md变成绿色,gemfile档案还是红色。
这表示我们已经将README.md设定为预备储存进度的文件”。git add
git add foo.txt把名为 foo.txt 的文件加进追踪修订。git add .(“git add dot”) 把当前项目文件夹里(即 .)所有新文件和改过的文件加进追踪修订,但“保留”你删掉的文件。git add -A全部加进追踪修订,包括删掉的文件。“把删掉的文件加进来”听起来很奇怪,但如果你把版本控制系统想像成是追踪“修改”的工具,或许就会懂了。多数人用 git add . ,但 git add -A 会比较安全。git commit
git commit告诉 git 真的要执行你叫它做的事。
分成 add 和 commit 两个步骤的好处是,如此你就可以把多个修改合并在一起。git commit的用法是git commit -m “描述”,记得要加 -m 这个参数,后面的 ”描述” 里,是指你这一次commit 到底做了哪些修改,至少你不能每次都用 Added all the things ,不然以后你查看记录的时候每一次都是 Added all the things,就会不知道自己做了什么。前方乱入:
git reset --hard HEAD~快速回到上一次 commit 状态。git push
把你本地有经过 git commit 过的代码推送到远端 github 或是 heroku之类的储存库上面去。git push --all origin接将所有分支全 push 到 github 上。git push origin master将本地的 master 分支 push 到 github 上。git pull
在多人合作开发的项目中需要经常将其他人 push 到 github 上面的代码 “拉” 到本地,这样才能同步变动。git pull origin develop将 github 的 develop 分支 pull 到本地的当前分支。git clone
git clone的作用是将 github 上面的项目(别人的或自己的)克隆到本地。
注意,不要在一个已经 git init 过的目录下进行 git clone。
git clone https://github.com/twbs/bootstrap.git将 github 上 twbs 这个用户的 bootstrap 项目代码克隆到你的电脑上(这会建立一个名为 bootstrap 的文件夹)。git clone https://github.com/twbs/bootstrap.git my_bootstrap和上个命令一样,但是这里会创建一个名为 my_bootstrap 的文件夹用于存放代码。git clone https://github.com/twbs/bootstrap.git -b v3-dev这是只将 v3-dev 这个分支 clone 下来。git branch
git 除了可以保存项目进度,还可以通过分支(branch)来管理不同的开发状态,比如 master 分支是主分支,用于发布正式版本,一般不直接在这上面进行修改; develop 分支则是开发用的;还可以在 develop 的基础上延伸每一功能模块分支,当修改好了之后再 merge 到 develop 分支。git branch 查看项目有多少个分支,且当前处于哪个分支。
git branch fixbug以当前分支为副本,建立一个名为 fixbug 的分支。git branch -D fixbug删除名为 fixbug 的分支(当前分支必须是 fixbug 之外的其他分支才能删除)。git checkout
git checkout .放弃所有文件的修改(只对已经被 git 追踪过的文件有效),当你的文件被改烂了而又不想保存变更的时候,这个命令可以让项目的状态回到上一次 commit 的状态,当然也可以用git checkout 文件名只放弃某个被改烂的文件。git checkout fixbug从当前分支切换到 fixbug 分支。git checkout -b fixbug02以当前分支为副本建立一个 fixbug02 分支,并直接切换到新建的分支( 用 git branch 新建分支不会切换到新分支 )。git stash
git stash将所有修改缓存起来(而不是保存),这样你就可以 checkout 到其他分支而不需 commit 。git stash apply将 git stash 缓存的文件重新调出来。git merge
git merge develop假设当前在 master 分支下,这个命令的意思是将 develop 分支里的内容合并到 master 分支。git log
git log查看过去的 commit 记录,包含了 commit 的 SHA1值( commit id )、修改人信息、修改时间、备注信息等。在显示 log 的状态下,按 Q 键退出查看。git diff
git diff用于查看“代码”的增删改,它与git status不同(查看“文件”的增删改),在 commit 之前,通过 git diff 查看代码的具体变动,比如减少了某一行代码或者新增了某一个行代码。同样是按 Q 键退出查看。
6、Heroku是什么
- 如何删除Heroku上的应用。
