かんたんなTODOアプリを作る(4回目)
4回目はGitの基本操作の習得を課題としました。 今回もレイアウトと機能は発展させていません。
「最近はGitHub Flowを使うのが主流」というツイートを見かけたので、そのGitHub Flowの流れを実際にやってみました。もちろん1人で。
まずはアプリケーションの作成とリポジトリの作成
rails new
でTodoAppというアプリケーションを作成したあと、アプリのディレクトリに移動
↓
git init
でローカルリポジトリを作成
↓
git add .
, git commit -m "first commit"
でローカルリポジトリへコミット
↓
GitHubのサイト上でNew Repositoryをクリック
↓
git remote add origin ~~~~~~~~
をコピーして、ターミナルに入力
↓
git push -u origin master
でリモートリポジトリへプッシュ
実際の開発業務でこの作業を行う機会があるのかどうかはわかりませんが、これで準備が整いました。
用途に合わせてたくさんのブランチを用意するGit Flowに比べて、GitHub Flowは完成版を置くmasterブランチと作業用ブランチの2つだけで運用するのでシンプルです。
では、ひとりGitHub Flowをやってみよう
リモートリポジトリにプッシュした時点ではmasterブランチにいるので、作業用ブランチを切る。(今回はTaskモデルを作成するので、"create-task-model"という名前にしました)
↓
作業用ブランチでTaskモデルの作成
↓
git status
で確認
↓
git add .
↓
git commit -m "create task model"
でローカルリポジトリへコミット
↓
git push origin create-task-model
でリモートリポジトリへプッシュ
↓
GitHub上でプルリクエストを作成
↓
(本来は別の人にコードレビューしてもらってから行うところを)自分でプルリクエスト承認
↓
GitHub上でmasterブランチへmergeして、GitHub上の作業用ブランチを削除
↓
git chekout master
↓
★git pull --rebase
でリモートリポジトリの最新状態をローカルリポジトリに反映させる
↓
再び作業用ブランチを切って作業再開(以下くりかえし)
という流れです。
GitHub Flowのポイント
シンプルでわかりやすい……!
★のところですが、作業内容をmasterブランチへmerge済みなのはリモートリポジトリ上だけなので、ローカルリポジトリの方でもmasterブランチを最新の状態にする必要があります。
そのために★を実行してリモートリポジトリの最新状態をローカルリポジトリのmasterブランチに反映させる、ということです。
自分はここを理解するのに少し時間を使いました。
やはり実際に手を動かしてみるのが1番ですね!
今後の課題
同じものをより早く作れるようになる- テストを書きながら作業を進める(今回もひとつも書いてない!)
git管理の方法のひとつ?であるgit-flow?を身につける- bootstrapを使ってみる
- 機能の充実