LoginSignup
0
2

More than 3 years have passed since last update.

研修でのgitコマンドまとめ

Last updated at Posted at 2020-04-26

研修でCRUDアプリを作成してレビューして完成させるまでのgitのコマンドを流れに沿ってまとめました。(備忘録用)

まずCRUDアプリを作成するまでの流れを簡単に
1. githubでレポジトリ作成
2. ローカルでgit cloneしてディレクトリ作成
3. rails new で新規作成

基本的な流れ

1.ブランチを切って作業する
2.作業完了後ファイルの変更箇所をリモートブランチにプッシュする
3.PRを作成してレビューをしてもら
4.修正依頼 or LGTM
5.修正依頼の場合、指摘箇所を修正してプッシュ →2へ
6.LGTMの場合githubでマージしてその内容をmasterへpullする

1.ブランチを切って作業する
git branch -b 新ブランチ名 master 

2.作業完了後ファイルの変更箇所をリモートブランチにプッシュする
git add .

git commit -m 'メッセージ'

git push origin ブランチ名

3.PRを作成してレビューをしてもら

4.修正依頼 or LGTM

5.修正依頼の場合、指摘箇所を修正してプッシュ →2の内容とほぼ同じ

6.LGTMの場合githubでマージしてその内容をmasterへpullする

# masterブランチへ移動
git checkout master

git pull origin master

その後にまたブランチを切って次の作業へ(1~6の繰り返し)

ここまでが基本的な流れ

ケース1:レビューしてもらっている間に次の作業に取り掛かる

git branch -b 新ブランチ名 orgin/現作業ブランチ名

新ブランチで作業中に前の作業ブランチでLGTMをもらいmasterにmergeされた内容を取り込む

#変更を取り込む
git rebase master

コンフリクトが起きなければそのままでOK!
コンフリクトが起きたら解決(私の場合はVScodeで解決)してcontinue

# コンフリクト解決して
git add .
git rebase --continue

# 下記コマンドでrebaseを取り消すこともできる
git rebase --abort

ケース2: pushしてPR作成後に微修正箇所が見つかった

#softオプションをつけてcommitの取り消し
git reset --soft

修正完了後
git add .

git commit -m 'コミットメッセージ'

# すでにリモートにはコミットが存在しローカル環境とのコミットの整合性が取れないので
# force push で強制的にpushする -fは要注意
git push -f origin ブランチ名

ケース3: リモートブランチのコミットを取り込む

#1ブランチから新たに#2ブランチを切って作業中に#1のレビューで修正がありそのコミットを#2のブランチに取り込みたい

git pull --rebase origin #1

ケース4: コミットせずにブランチを切り替える

#2で作業中に#1のブランチの修正依頼があり#2の変更ファイルをコミットせずにブランチを切り替える

変更をコミットせずに退避
git stash save

退避する際に新規ファイルが存在する場合
git stash -u

#1にブランチ切り替え
git checkout #1

#1の修正 add commit push完了 #2ブランチに戻る
git checkout #2

退避した内容を戻す
git stash pop スタッシュ名

他にもgit statusやgit logなどもありましたが今回はCRUDアプリ作成に直接関係しなかったので省きました。
以上が私がCRUDアプリ作成時に使ったgitコマンドです。

最後までご覧いただきありがとうございます。

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2