---
# System prepended metadata

title: Railsアプリ作成時によく使うコマンドまとめ
tags: [rails, command, git]

---

###### tags: `rails` `git` `command`

# Railsアプリ作成時によく使うコマンドまとめ

## コントローラーの作成
```bash=
rails g controller Xxxs new index show edit
```
上記コマンドを使用することで、コントローラーの作成と同時にnew, index, show, editアクションも生成され、htmlファイルも同時に作られるため、  
アプリ作成時によく使う。

## モデルの作成
```bash=
rails g model Xxx yyy:string iii:text password_digest:string
```
モデルの作成時に使用するコマンド。  
モデル名の後に引数を追加することで、テーブルのカラム名を指定できるため、既にテーブル構成が決まっている場合は、モデル作成時にカラム名と型を指定してあげると便利。

## テーブルの作成<a id="make_table"></a>
```
rails db:migrate
```
モデルを作成することで、db/migration/の中にマイグレーションファイルが作成されるため、  
上記コマンドを使用することで、マイグレーションファイルを実行し、テーブルを作成することが出来る。

## カラムの追加
```bash=
rails g migration AddPasswordDigestToUsers password_digest:string
```
上記のコマンドでstring型のpassword_digestカラムを生成するためのマイグレーションファイルが作成されます。  
マイグレーションファイルが生成されたら[テーブル作成](#make_table)を参考にマイグレーションファイルを実行してください。

## カラム削除
```bash=
rails generate migration RemovePasswordDigestFromUsers password_digest:string
```
上記のコマンドでstring型のpassword_digestカラムを削除するためのマイグレーションファイルが作成されます。  
マイグレーションファイルが生成されたら[テーブル作成](#make_table)を参考にマイグレーションファイルを実行してください。

---------------------

# Gitコマンド

## ディレクトリの変更内容の確認
```bash=
git status
```
ローカルリポジトリ上の変更状態などの確認。
## 変更内容の追加
```bash=
git add .
git add -A
git add file_name # 一部ファイルのみ対象にしたい場合
```
上記コマンドでローカルリポジトリの変更を取り込む。
## 変更内容のコミット
```bash=
git commit -m "commit content"
```
変更内容をコミットする。オフィス製品で例えると名前を付けて保存みたいなイメージです。
## リモートリポジトリへプッシュ！
```bash=
git push origin リモートリポジトリ名
```
上記コマンドでローカルリポジトリでコミットした内容をGithubなどのソース管理アプリにプッシュする。