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