はじめに
2020/04/29追記:Collaborator設定の項目追加しました。
共同開発しませう。共同開発しませう。共同開発はいいぞ。一番の利点は、完成が強いられるので完成すること!あとは共同開発向けのコーディングってやっといた方がいいよね...個人だとどんな書き方してもいいもんね...(これは罠で、いつでもデバッグしやすいコードを書こう
それはそうとGitHubは、バージョン管理システムであるGitを利用したサーバーホスティングサービスです。複数人でのバージョン管理が容易にできます。この記事では最低限GitHubでハッカソンなどの共同開発でのおおまかな流れを紹介します。深いところまで踏み込まないのは自身の経験が浅いのと、そこまで知らなくても一応できる(と思った)からです。
1. 全員:GitHubのインストール
公式サイトからアカウントの作成ができ、ダウンロードサイトからGitHub Desktopをダウンロードできます。ハッカソン前に済ませておくのをおすすめします。メアドがあったら作れるはず...
2. 代表:レポジトリを作る
プロジェクト、作品ごとに管理するデータ置き場をレポジトリと言います。代表が一回作ってpublishすれば済みます。
GitHub Desktop左上のFileからNew Repositoryを選択後、以下の項目を埋めて作成しましょう。
- Name ... レポジトリ名
- Description ... レポジトリの説明
- Local path ... 個人のPCの保存する場所
- initializ略 ... READMEファイルが生成される、レポジトリ説明を追加するなら必要。
- Git ignore ... git管理を無視するファイルの設定。Unityとかいろいろある。これ大事
- License ... ライセンス、公開するならちゃんと設定しよう
これらを設定してCreate Repositoryしたのちpublishしましょう。上部にあるはずです。
2.5. 代表:チームメンバーをCollaboratorに設定する※2020/04/29追記
3以降のことをするためにはCollaboratorに設定する必要があります。(共同開発を始めてから気づきましたごめんなさい)
GitHubのレポジトリのサイトでSetting -> Manage accessにいくとCollaboratorの招待ができます。ユーザー名で探せるので教えてもらってください。すると招待してもらった人にメールが届くと思いますので、それに従い設定してください。
3. 全員:レポジトリを持って来てブランチを切る
publishされたら上のタブのrepository -> View on GitHubでレポジトリのサイトに飛べます。全員はそのサイトからPCへレポジトリをとってくること(クローン)ができます。Current repository -> Add -> Clone repositoryでURL等から選択してクローンしましょう。これだけで環境(データ類)を丸ごととってこれます。
自分の担当する一部だけ編集したい場合(ほぼそうだと思うのですが)、同一の環境を複数人でいじいじすると即死しますよね。そこで自分が作業する場所を分けるために元のブランチからブランチを切りましょう。Curent branch -> New branchでできます。命名規則をチームで統一しておくとよいでしょう。
4. 全員:コードを書いたらコミット
Commitとは、手元で編集したコードを時系列的に記録しておくことです。しておいたら何がいいって、ぶっこわれて直せないときに前コミットした状態に戻せるからですね。左下にCommitボタンがあるので、SummaryとDescriptionを書いてこまめにしておきましょう。ついでにpushしとけばサーバー上に保存できます。また、historyからコミットの取り消し(revert)もできます。ちなみにGitではインデックスに更新ファイルを加えるAddをしますが、GitHub Desktopでは自動でされます。
あと、こまめにfetch、pullしておきましょう。fetchはサーバー上のデータを確認し、pullはPCにダウンロードします。
5. 全員:担当箇所が完成したらプルリクエスト
プルリクエストをざっくり言うと、完成したから元のブランチに反映してくれーって頼むことです。上タブのBranch -> Create pull requestでできます。注意事項等あればそれも書いておきましょう。
6. 代表:プルリクエストを承認、ブランチのマージ
プルリクエストが来たらレポジトリのサイトで承認するorしないを選択しましょう。また、そのブランチでの作業が完了したのであればブランチの統合(Merge)ができます。
ここまでで一応の流れができました。もちろんGit・GitHubの機能はこれだけではないですが、これだけできれば使えると思われます。
もっと詳しく説明して
この記事がとても参考になります。てかこのページ見るよりリンク飛んでもらう方がわかりやすいので...