GitとGitHubを用いた共同開発
共同開発で生じる問題
2人で企画書を作成することを考えてみてください。 1人が企画書を書いた後、それを相手にメールで送り、相手はそれをさらに修正してまたメールで送り返すということを繰り返します。 このようにすると、1人が編集している間はもう一人は企画書を編集できなくなってしまいますし、メールで送り合うのは手間がかかりますし、やり取りが複雑になってしまいます。
GitとGitHubを用いた共同開発の仕組み
GitとGitHubを用いることでこの問題を解決することができます。 まず、GitHub上にリポジトリを作成し、他のメンバーがそのリポジトリにアクセスできるようにします。 Gitにはブランチという仕組みが備わっています。 メンバーは変更を加えたい時には、メインのブランチからその変更を加えるための専用の作業場所であるブランチを作成します。 そして、そこで変更を加えて、コミットを作成します。
そして、作業が終わったら、メインのブランチに自分のブランチの変更を取り込みます。 ここで、GitHubにはプルリクエストという機能があります。 プルリクエストを作ることで、自分がどのような変更を加えようとしているのかを他の人に確認してもらうことができます。 そして、その変更が良さそうだったら、メインのブランチに取り込みます。
このように、プロジェクトの本体に影響を与えずに同時並行で開発を進めることができます。
GitとGitHubを用いて共同開発をする
では、実際にGitとGitHubを用いて共同開発をしてみましょう。
GitとGitHubを用いた共同開発は、大きく次のような流れで行います。
- GitHub上のリポジトリにソースコードを保存する。
- 他のメンバーはそのリポジトリをクローンする。
- 変更を加えるために、ブランチを作成する。
- 変更を加えて、コミットを作成する。
- そのブランチをリモートリポジトリにプッシュする。
- プルリクエストを作成する。
- プルリクエストを確認してもらい、メインのブランチにマージする。
2回目以降は、メインのブランチに他のメンバーが変更を加えている可能性があるので、まずはメインのブランチに戻って、プルをすることでリモートリポジトリの変更を取り込みます。 その後は、3.以降の手順を繰り返して新たなプルリクエストを作成します。
では、それぞれについて見ていきましょう。
GitHubにソースコードを保存する
自分のコンピューター上に作成したリポジトリと同期させるため、GitHub上にもリポジトリを作成します。GitHub上部のメニューからNew repository
を選択してください。
必要な設 定はリポジトリの名前と公開範囲です。
公開するつもりがない場合は公開範囲はPrivate
に設定するようにしましょう。
続いて、GitHub上に作成したリポジトリと自分のPC上にあるリポジトリを紐づけます。
GitHub上に表示されているSSHのURLをコピーします。(SSHにするのを忘れないでください。)
これがGitHub上に作成したリポジトリを表すURLになります。
GitHub上に作成したリポジトリをリモートリポジトリと呼びます。
次のコマンドを実行して、このリモートリポジトリをorigin
(慣習的にリモートリポジトリが一つだけの場合はこの名前が用いられます) という名前で登録します。
git remote add origin git@github.com:アカウント名/リポジトリ名.git
登録が完了したら、origin
として登録したリモートリポジトリにコミットを送信します。
この操作をプッシュと呼びます。
プッシュをするには、Pull, Push
>Push to...
>origin
を押します。
GitHubを開いているブラウザを更新して、プログラムが反映されていることを確認したら完了です。
git push
コマンドgit push
コマンドを使うことで、コマンドラインから、プッシュをすることもできます。
git push origin main
このコマンドのmain
というのは、メインのブランチの名前です。
リポジトリをクローンする
自分が作成したリポジトリであれば、そのまま変更を加えることができますが、他の人が作成したリポジトリに変更を加える場合は、まずは自分のPC上にそのリポジトリをクローンする必要があります。 クローンするとは、リモートリポジトリを自分のPC上に複製することです。
他の人が作成したリポジトリに変更を加える場合は、権限を与えてもらってからそのリポジトリをクローンしましょう。
クローンするリモートリポジトリのSSHのURLをコピーして、次のコマンドを実行してください。 その後、クローンしたリポジトリをVS Codeで開いてください。
git clone git@github.com:アカウント名/リポジトリ名.git
ブランチを作成する
まずは、メインのブランチから今回の作業専用のブランチを作成しましょう。
左下のmain
というボタンをクリックして、Create new branch from...
を選択します。
次に、分岐元のブランチであるmain
を選択します。
最後に、新しいブランチの名前を入力します。
新しいブランチの名前には、今回加えたい変更の内容を表す名前をつけましょう。
左下の表示がmain
から新しいブランチの名前に変わったことを確認してください 。
git switch
コマンドブランチの作成をコマンドラインから行うこともできます。
まずは、現在いるブランチを確認してみましょう。
ターミナルでgit branch
コマンドを実行してください。
$ git branch
* main
ここで、*
か ら始まっているのが、現在いるブランチです。
main
となっているはずです。
git switch
コマンドを使うことで、ブランチを切り替えることができます。
切り替え先のブランチが存在しない場合-c
というオプションをつけることで、新しいブランチを作成して切り替えることができます。
git switch -c 新しいブランチ名
現在いるブランチを確認すると、*
が移動しているはずです。
$ git branch
* 新しいブランチ名
main
変更を加えてコミットを作成する
変更を加えて、コミットを作成しましょう。 必要に応じて、コミットの履歴やコミットの差分を確認してください。
リモートリポジトリにプッシュする
変更を加えたのは、自分のPC上のリポジトリです。 そのため、リモートリポジトリにその変更を反映させる必要があります。 新しく作ったブランチをリモートリポジトリにプッシュします。
コマンドラインからプッシュするには、次のコマンドを実行します。
git push origin ブランチ名