hotfix! ちょこっとだけ修正してすぐマージしたい時!
変更する
まずはlocalのmasterをremoteのmasterと一緒にする。
git pull
最新の変更が反映されているか確認。
git log
新しいブランチをmasterから作成する。ついでに移動する。
git checkout -b [ブランチ名]
これで新しいブランチはremoteのmasterと同じ状況になる。
ここまでできたら変更を加える。
今回はgitignoreファイルにvimで直接変更を加えてみる。
ブランチを切ってあるので今のディレクトリのファイルはブランチ先のファイルになっているのでvimを使って編集。
vim .gitignore
一応ちょっとだけvimの使い方を書くと
[a] -> 編集モードにして編集
[esc] -> 編集モード解除
[:wq] -> 保存して終了
[:!q] -> 保存としないで終了
ステージング、コミット、プッシュまで。
それができたらステージング。
staging
git add .
うまくできたらこんな感じで表示される。
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
modified: .gitignore
commit
git commit -m 'コメントを入れる'`
ログを確認して
git log
push
git push --set-upstream origin [ブランチの名前]
※origin直下の場合?
#プルリク作成からmerge
プッシュできたらいよいよプルリク。
CLIもある(https://qiita.com/sl2/items/0ac1c6b4df5d69c0bb1b)
みたいだけどGUIの方が扱いやすいらしいのでwebページへ。
New pull request
を押したらマージ先とマージ元を選択する。
選択したらcreate pull request をおす。
編集タイトルと詳細を書く。
その時、Reviewersにpullrequestを確認して欲しい、masterへのmerge権限を持つ人を割り当てる
でcreate pull requestすると
承認待ちになる。
承認してもらったら、merge pull request ボタンを押してcomfirmボタンを押してgithubのmasterへのmergeが完了する。
#サーバーに反映
実際にページを運用しているサーバー側のマスターブランチを最新にして終了。
#もしプルリクしたコミットに編集の余地があった時。
プルリクエストをブラウザからcloseする。
ローカルのコミットを戻す。
git reset --soft HEAD^
git log
git status
git reset HEAD .gitignore
git status
--soft
はcommit履歴のみ消す。
--hard
はcommit履歴と変更の両方消す。
この方法でプルリクを編集しようと思った場合コンフリクトするので再編集後、pushする前に、remoteの同じ名前で違う変更点のあるブランチを削除しておく。
削除せずにpushしようとするとエラーになる。
log
505 git checkout master 506 git checkout master 507 git branch 508 git log 509 git checkout -b ignoreFix 510 git branch 511 git log 512 git branch 513 git status 514 git status 515 vim .gitignore 516 cat .gitignore 517 git commit 518 git add 519 git add . 520 git status 521 git commit -m 'ignoreに追加' 522 git log 523 git push 524 git --set-upstream origin ignoreFix 525 git push --set-upstream origin ignoreFix 526 git log 527 git reset --soft HEAD^ 528 git log 529 git status 530 git reset HEAD .gitignore 531 git status 532 history 533 vim .gitignore 534 cat .gitignore 535 git add . 536 git status 537 git commit -m 'ignoreに追加' 538 git status 539 git push --set-upstream origin ignoreFix 540 git branch 541 git log 542 git push --set-upstream origin ignoreFix 543 git push --set-upstream origin ignoreFix 544 history
参考にした記事
https://qiita.com/misakiagata/items/d572e89b5b35e046b7a7
https://qiita.com/konweb/items/621722f67fdd8f86a017
https://riptutorial.com/ja/git/example/3175
https://techacademy.jp/magazine/10168