はじめに
これは自分用の備忘録として書くため、大変見にくいと思います。
ご覧いただく際はご了承ください。
また、情報が溜まったら随時書き足していきます。
ケース
新しくプロジェクトを始める時
あらかじめ新しいリポジトリをGUIにて作成しておいてください。
cd [ プロジェクト直下 ]
git init
git remote add origin [ リポジトリのURL ]
git fetch
git merge origin/main
git add .
git commit -m "first commit"
git push origin main
開発用のdevelopブランチを作る
拙記事では以下の画像のようなブランチ戦略を取ることとします。
git checkout main
git pull origin main
git checkout -b develop/[ リリース番号 ]
git commit -m "first" --allow-empty
git push origin develop/[ リリース番号 ]
ブランチを切る
今回は、新しいイシューを始める(機能を追加するfeatureブランチを作る)場合を想定しています。
GUIから新規のイシューを発行もしくは、割り振られたイシューのイシュー番号をもとにブランチを切ります。
そのため、あらかじめ該当するイシューを作成しておいてください。
git checkout develop/[ リリース番号 ]
git pull origin develop/[ リリース番号 ]
git checkout -b feature/[ リリース番号 ]/[ イシュー番号 ] develop/[ リリース番号 ]
git commit -m "pull req commit" --allow-empty
git push origin feature/[ リリース番号 ]/[ イシュー番号 ]
正常に実行できると、GUI上にプルリクの通知が来ます。
そのプルリクを承認して、プルリクの名前をイシューのタイトルと同じ内容を書きます。
また、この時にマージ先を main
ではなく、 develop/[ リリース番号 ]
に変更することを忘れずに行ってください!
これでブランチを切ることに成功しました。
以降は、以下のようにpushしていけばOKです。
git add .
git commit -m "[コミットメッセージ]"
git push origin feature/[ リリース番号 ]/[ イシュー番号 ]
ブランチをマージする
今回は、イシューが終わった(featureブランチをdevelopブランチにマージする)場合を想定しています。
上記と同様にローカルの変更をリモート上へ反映させます。
git add .
git commit -m "[コミットメッセージ]"
git push origin feature/[ リリース番号 ]/[ イシュー番号 ]
正常に実行できると、GUI上の該当プルリクに変更が反映されています。
コミットメッセージなどからリモートの内容が最新であることを確認した上で、レビュアーにレビューをしてもらいます。
レビューが終わった後に、GUI上から develop/[ リリース番号 ]
にマージすれば終了です。
イシューをクローズしておくことも忘れずに行ってください。
ローカルをリモートの状態に強制同期
git checkout [ 対象のリポジトリ ]
git fetch origin [ 対象のリポジトリ ]
git reset --hard origin/[ 対象のリポジトリ ]
最新のpushした内容を取り消す
最新のpushであれば以下の対応が可能です。
git checkout [ 対象のリポジトリ ]
git log
> 最新のpushのIDをコピーする
git revert [ 取り消す対象のID ]
git push origin [ 対象のリポジトリ ]