Git学習内容の忘備録
はじめに
GitとGitHubの違いもよく分かっていなかったGitの初心者の私が学習した内容をまとめた忘備録です。
私なりにGitワークフローを図にまとめてみました。
Gitのワークフローについてまとめ
Git HubからGitへリポジトリをコピー
ローカルリポジトリでの作業
- ブランチを作成(枝分かれ)
- 作成したブランチで作業
addする(変更内容をstaging areaに上げておく)
commitする(ローカルリポジトリのブランチへ変更を反映する) - ローカルリポジトリの作業内容をリモートリポジトリへ反映させる
pullする
(リモートリポジトリのブランチの状態をローカルリポジトリのブランチに反映して最新の状態と合わせる)
pushする(ローカルリポジトリのブランチの変更内容をリモートリポジトリの同名ブランチへ反映する)
リモートリポジトリでの作業
- Git hubでpull requestを作成する
pushしたブランチへ切り替え
"Compare & pull request"をクリック
作業ブランチとマージ先のmainブランチを選択してマージする
※2023/4/2追記 GitHubにSign inできていないとpull requestできません
- 作成した人とは別の人がマージの許可をする
リモートリポジトリのmainブランチに変更内容が反映される
リモートリポジトリはリリースされるソースコードになる
再度ローカルリポジトリでの作業
- mainブランチへ切り替え
2. pullする(リモートリポジトリのmainブランチの状態をローカルリポジトリのmainブランチへ反映して状態を合わせる)
※ローカルリポジトリのmainブランチに対して、ローカルでマージ作業はしてはいけない
Git Hubを使用した実際のワークフローを図にまとめた
cloneからpull requestまで
下図はリモートリポジトリからローカル環境へcloneしてから各ブランチを作成して、リモートリポジトリへpush、pull requestまでの流れである。
pull時の注意点
下図はリモートリポジトリが別の誰かにより変更が加えられている状態でローカル環境の作業をpushして、pull requestまでの流れである。
マージについての忘備録
Gitのマージには3種類ある
- ファストフォワードマージ
変更した内容のブランチをmainへマージ
mainに変更がないパターン - オートマティックマージ
変更した内容のブランチをmainへマージ
mainも変更があるが変更箇所は異なるパターン - コンフリクト
変更した内容のブランチをmainへマージ
mainも変更があり変更箇所が同じパターン