記憶に留まれ感じたこと

サブマリン外部記憶媒体

Git学習内容の忘備録

はじめに

GitとGitHubの違いもよく分かっていなかったGitの初心者の私が学習した内容をまとめた忘備録です。

私なりにGitワークフローを図にまとめてみました。

 

Gitのワークフローについてまとめ

Git HubからGitへリポジトリをコピー

  1. cloneする(リモートリポジトリの情報をローカルリポジトリへコピーする)
    リモートリポジトリに存在するブランチ全て含めて、リポジトリ全体がコピーされる

ローカルリポジトリでの作業

  1. ブランチを作成(枝分かれ)
  2. 作成したブランチで作業
    addする(変更内容をstaging areaに上げておく)
    commitする(ローカルリポジトリのブランチへ変更を反映する)
  3. ローカルリポジトリの作業内容をリモートリポジトリへ反映させる
    pullする
    (リモートリポジトリのブランチの状態をローカルリポジトリのブランチに反映して最新の状態と合わせる)
    pushする(ローカルリポジトリのブランチの変更内容をリモートリポジトリの同名ブランチへ反映する)

リモートリポジトリでの作業

  1. Git hubでpull requestを作成する
    pushしたブランチへ切り替え

    "Compare & pull request"をクリック

    作業ブランチとマージ先のmainブランチを選択してマージする

    ※2023/4/2追記 GitHubSign inできていないとpull requestできません

  2. 作成した人とは別の人がマージの許可をする
    リモートリポジトリのmainブランチに変更内容が反映される
    リモートリポジトリはリリースされるソースコードになる

再度ローカルリポジトリでの作業

  1. mainブランチへ切り替え
     2. pullする(リモートリポジトリのmainブランチの状態をローカルリポジトリのmainブランチへ反映して状態を合わせる)
      ※ローカルリポジトリのmainブランチに対して、ローカルでマージ作業はしてはいけない

Git Hubを使用した実際のワークフローを図にまとめた

cloneからpull requestまで

下図はリモートリポジトリからローカル環境へcloneしてから各ブランチを作成して、リモートリポジトリへpush、pull requestまでの流れである。

Git Hubワークフロー cloneからpull requestまで

pull時の注意点

下図はリモートリポジトリが別の誰かにより変更が加えられている状態でローカル環境の作業をpushして、pull requestまでの流れである。

Git Hubワークフロー pullして再度pull requestまで

マージについての忘備録

Gitのマージには3種類ある

  • ファストフォワードマージ
    変更した内容のブランチをmainへマージ
    mainに変更がないパターン
  • オートマティックマージ
    変更した内容のブランチをmainへマージ
    mainも変更があるが変更箇所は異なるパターン
  • コンフリクト
    変更した内容のブランチをmainへマージ
    mainも変更があり変更箇所が同じパターン