📖

【GitHub入門】開発フロー覚え書き

2023/05/07に公開

概要

Zennでの執筆とGitHubでの開発を初めて行ったので、Zennでのマークダウン記法になれるためにもGitHubの開発フローをメモ代わりに記録に残します。

開発フロー

各フローにおけるVScode上で使用するコマンドと、GitHub上で行うアクションについて記載する(個人で行う小規模開発を前提としています)。

1. リポジトリの作成

GitHubのページでアカウントアイコンからYour repositoriesを選択する。

右上の[New]ボタンを押し、Repository nameに名前を付ける。
非公開にしたかったらPrivateを選択する。
その他項目は特に設定せずリポジトリを作成する。

下記のような画面がでればOK。
赤枠のURLは次のクローン生成で使用するのでコピーしておく。

2. リポジトリのクローン生成

VScodeに移動し、ターミナルからクローンを生成する。

PS C:\Users\user\Desktop\GitHub> git 先ほどのURL

クローンが生成されていることをlsコマンドで確認してcdコマンドで生成したディレクトリに移動する。code .で作業を始めます。

PS C:\Users\user\Desktop\GitHub> cd test123
PS C:\Users\user\Desktop\GitHub\test123>code .

3. ローカルのリポジトリにコミットする

Gitにおける「commit」とは、現在の変更をリポジトリに保存することを指します。つまり、ある時点での変更内容を確定させ、それをリポジトリに記録することができます。commitには、変更内容を表す説明文を付与することができます。これにより、後でどのような変更を加えたのかを簡単に理解できるようになります。また、commitはバージョン管理をする上で非常に重要な概念であり、新しいバージョンを作成するたびにcommitを行うことで、変更履歴を管理することができます。

まだ成果物は空の状態ですが、一度ローカルのリポジトリにコミットします。
下記では空の状態を許可するように指示しています。

git commit --allow-empty -m "ここにコメント"

4.リモートリポジトリにプッシュする

gitにおけるpushとは、ローカルリポジトリで変更を加えたコミットをリモートリポジトリにアップロードするためのコマンドです。つまり、自分が加えた変更を他の人と共有するために使用します。

通常、ローカルリポジトリでコミットした後、pushコマンドを使用してリモートリポジトリに変更を送信します。このプロセスにより、共同作業者はあなたが行った変更を確認して、自分の作業に取り入れることができます。また、リモートリポジトリに変更をプッシュすることで、複数のデバイスで作業する場合でも、変更内容を同期することができます。

具体的なコマンドは以下のようになります。

git push [リモートリポジトリ名] [ブランチ名]

リモートリポジトリ名は通常はoriginとなります。ブランチ名は、pushするブランチの名前を指定します。例えば、mainブランチに変更をプッシュする場合は以下のようになります。

git push origin main

GitHubに行き更新するとmainというブランチが作られていることを確認できます。

5.サブのブランチを作成してコードを用意する

次の手順に進む前に、ブランチとは何なのか軽く説明します。

ブランチを切って開発を進めます。
今現在はmainブランチにいます。次のように確認できます。

PS C:\Users\user\Desktop\GitHub\test123> git branch
* main

仮にsubtreeというブランチを生成し、そこで作業することとします。
ブランチの作成、作業ブランチの移動は次のコマンドで実行します。

ブランチの生成

git branch subtree

ブランチを生成しただけでは、まだ作業ブランチがmainのままなのでブランチの移動をします。

git checkout subtree

これで作業ブランチがsubtreeになりました。

PS C:\Users\user\Desktop\GitHub\test123> git branch
  main
* subtree

6.コードをステージに上げ、コミットとプッシュを行う。

作業ブランチが用意できたので、実際にコードを書いてローカルのリポジトリに保存していきます。
今回は開発手順だけ記録に残していくのでコーディングなどは行いません。

作業ブランチで書いたコードを、次のコマンドでステージに上げます。

git add *

git add *は、Gitで管理されているファイルをステージングエリアに追加するコマンドです。ステージングエリアにファイルを追加することで、そのファイルの変更内容を次のコミット対象に含めることができます。

例えば、リポジトリ内のファイルを変更した場合、その変更内容をGitの履歴に記録するためには、まずその変更内容をステージングエリアに追加する必要があります。この時、git add *コマンドを使用することで、変更されたすべてのファイルを一括でステージングエリアに追加することができます。

したがって、git add *は、Gitで管理されている変更内容を次のコミット対象に含めるために必要なコマンドであり、Gitの効率的なファイル管理に欠かせない重要な役割を担っています。

コミットとプッシュに関してはmainブランチと同様、下記のコマンドで実行します。

git commit -m "ここにコメント"
git push origin subtree

7.プルリクエストする

プルリクエストとは、GitHubなどのGitホスティングサービスで使われる機能の一つで、他の開発者に自分のリポジトリの変更をレビューしてもらうための要求を送信することです。

プルリクエストの重要性は以下の通りです。

  • コードレビューを促進し、コードの品質向上やバグの発見・修正を行うことができる
  • チーム開発において、コードの変更履歴を残し、誰が何を変更したのかを確認できる
  • 変更をマージする前に、他の開発者に変更内容を共有することで、チーム内でのコミュニケーションを促進できる

さて、上記6の手順でプッシュされたファイルをプルリクエストする手順は下記です。
1.GitHubのリポジトリページにアクセスします。
2・「Compare & pull request」ボタンをクリックします。
3.変更内容やコミットメッセージなどを確認し、必要に応じて変更します。
4.プルリクエストのタイトルや説明などを入力し、「Create pull request」ボタンをクリックします。

8.プルリクエストをレビューし、メインブランチにマージする

プルリクエストした内容が問題なければ、サブのブランチで作成した内容をメインブランチにマージします。
GitHub上のPull requestsタブの「Confirm merge」をクリックするとOKです。

9.サブのブランチを削除する

マージが完了すると、サブで用意したブランチはもう不要になるので、GitHub上の「Delete branch」ボタンを押すことで削除します。

ただ、GitHub上でブランチを削除してもローカルのブランチは残ったままなので、ローカルのブランチも削除していきます。
例としてmainブランチに移動して、サブのブランチを削除するようにします。
具体的には下記です。
ブランチを移動します。

git checkout main

サブのブランチを削除します。

git branch -D subtree

これでサブのブランチを削除することができました。

10.リモートリポジトリをローカルに引っ張ってくる

あと少しです。

最後に、サブのブランチで作成し、メインにマージした最新の内容をローカルに引っ張ってくる必要があります。

git pull origin main

所感

ターミナルでのコマンドが多く、プログラミング初心者のひよこエレキ屋の僕にはなかなか敷居が高く感じました;;
このページが誰かの役に立てば幸いです。

Discussion