ブランチの退避方法(git、github)

内容

構成を変えるため、再度要件定義やDB設計を行う。

現在作業しているブランチを退避

1. 変更を退避

投稿一覧表示機能のブランチで作業中であったが、作業が中途半端でコミットしたくないため、stashを使用し退避させる
退避させた後は、ブランチを切り替えて作業を行う
ターミナル

% git stash -u
# -uは--include-untrackedの略

2. 退避した作業一覧

以下のコマンドで退避した作業の一覧を見ることができる
ターミナル

git stash list

3. 他のブランチで作業

作業後、コンフリクトが生じたら、resolve conflictsで都度修正
修正後、mark as resolved→commit merge

4. 退避した作業を元に戻すと同時に、stashのリストから消去

元に戻したいブランチに切り替えて、コマンドを入力する
stash名(stash@{0})を省略すると、直近にstashした情報を消すことができる
ターミナル

git stash pop stash@{0}

要件定義、DB設計のやり直し

1. 要件定義の修正

機能、表示等の洗い出し

2. 画面遷移図、ER図の修正

draw.ioで修正

3. READMEの修正

README.mdファイルを修正

新規投稿機能のやり直し

1. postsテーブルの修正

マイグレーションファイルをrails db:rollbackしてから修正し、rails db:migrate
※上記方法はローカル環境ではまだいいが、本番環境ではやらない方がいいらしい
→デプロイ後のテーブル変更は、基本的にマイグレーションファイルを追加することで対応するとのこと

2. ビュー、CSSの修正およびバリデーションの設定

postsテーブルのカラムを変更したため、ビュー、CSS、コントローラーも大幅に修正
その際、ビューの修正は完璧だったはずだが、Completed 500 Internal Server Errorが出て、フォームの値は遅れているのにトップページが表示されずにエラーとなった
結論バリデーションを設定し直していなかっただけだった→そのまま修正

3. Postモデルの単体テストコードの修正

テストコードも全体的に修正した

4. rubocop

次回

stashしたブランチを元に戻し、投稿一覧表示機能の修正から