1
1

More than 1 year has passed since last update.

git の使用ケースごとの対応をまとめる

Last updated at Posted at 2023-09-19

はじめに

これは自分用の備忘録として書くため、大変見にくいと思います。
ご覧いただく際はご了承ください。
また、情報が溜まったら随時書き足していきます。

ケース

新しくプロジェクトを始める時

あらかじめ新しいリポジトリを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ブランチを作る

拙記事では以下の画像のようなブランチ戦略を取ることとします。
image.png

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 [ 対象のリポジトリ ]
1
1
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
1
1