チーム開発 GitHub入門(GitHub Desktop)
はじめに
アプリ開発サークルのチーム開発におけるGitHubの利用方法をまとめてみました。GitHubは聞いたことはあるがコマンドは英語で記入するなどなにかと難しそうと感じる方がいるかと思われますが、GitHub Desktopは普段使ってるアプリのように操作できる(GUI)のでとても使いやすいです。
一例として参考にしてもらえれば幸いです。
Githubのマスコットキャラクター「Octocat」
GitHub Desktopを使う理由
GitHubはGitというバージョン管理システムを利用します。
Gitでは以下のようなコマンド(CLI)を毎回入力して実行します。
#一例(わかりやすくホスト名やユーザー名を日本語にしてます)
アプリ開発サークル-test hello-world % git push -u origin main
Username for 'https://github.com': アプリ開発サークル
Password for 'https://アプリ開発サークル@github.com':~~~~~~~~
Enumerating objects: 100, done.
Counting objects: 100% (100/100), done.
Delta compression using up to 10 threads
Compressing objects: 100% (100/1-00), done.
Writing objects: 100% (100/100), 940.91 KiB | 24.76 MiB/s, done.
Total 100 (delta 6), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (6/6), done.
To https: //github.com/アプリ開発サークル/test.git
* [new branch] main →> main
branch 'main' set up to track 'origin/main'.
アプリ開発サークル-test % git add
アプリ開発サークル-test % git commit -m "ver1.0"
[main abcd001] ver1.0
Committer: MY mac <アプリ開発サークル.local>
アプリ開発サークル-test % git remote add origin https://github.com/アプリ開発サークル/test.git
アプリ開発サークル-test % git push origin main
Enumerating objects: 9, done.
Counting objects: 100% (9/9), done.
Delta compression using up to 8 threads Compressing objects: 100% (5/5), done.
Writing objects: 100% (5/5), 569 bytes | 569.00 KiB/s, done.
Total 5 (delta 4), reused 0 (delta 0), pack-reused o remote: Resolving deltas: 100% (4/4), completed with 4 local objects.
To https://github.com/アプリ開発サークル/test.git
main →> main
アプリ開発サークル-test % git remote rm origin
アプリ開発サークル-test % git remote add origin https://github.com/アプリ開発サークル/test.git
アプリ開発サークル-test % git push origin main
Everything up-to-date
やはりGUIで操作したいですよね。
今回使うGitHub Desktopは一切コマンドは使わないのでボタンをぽちぽち押すだけで上記の実行を行えちゃいます。
GitHub Desktopをインストールする
↓こちらのリンクからGitHub Desktopをダウンロードします
アカウントをお持ち出ない場合はcreate your free account
からアカウントを作成してくださいね。
チーム開発のながれ
ここからは実際にGitHubを用いてアプリ開発サークルで行っているチーム開発の流れを説明していきます。
Projectボードにタスクを並べる
Projectボードはタスクを視覚的に一覧表示ができるため、メンバーのタスクが把握しやすくなります。
Projectsに移動します。
ここでは開発のタスクを並べることができます。
タスクにメンバーをアサインして、現在のメンバーの状況を可視化しましょう。
また、個人的にタスクを新規で追加する場合は
- なぜ必要なのか
- なんの要素があるか
- その内容はどこに影響するのか
上記のような内容を簡単に書くとメンバーがふと見たときに理解しやすいと思います。
追加したタスクの確認をもらう
todoのタスクを追加した後にConvert to isssue
を選択しそのタスクが必要か否かの確認を、チームメンバーからもらいます。issueでは他のメンバーからのアドバイスや意見などを含めたコメントができるので、タスク内容の修正が行えます。
Repositoryをクローンする
外部レポジトリーは、クローンによって自身の環境内での作業が可能になります。
GitHub Desktop内の File → Clone repository
でリストからクローンするRepositoryを選んで自分のローカルパスに保存(クローン)します。
作業内容はこのファイルに保存されます。
Branchを作成する
タスクの確認がとれたら作業環境を構築します。
複数人が同時に開発するために各自が「Branch」を作成し作業を進めます。
Branchの作成はGitHub DesktopからCurrent Branch
→New Branch
を選択し、Branchの名前を入力します。名前に関してはタスクで示した名前を入れます。
Branchとは
リポジトリ内の領域でバグを修正したり・新しいアイデアを開発するために外部の影響を受けず開発を行うことができる機能。
Commitをする
作業内容を随時Commitしましょう。
Commitにはsummary
とdescription
があり、それぞれテキストを書くことができます。
summary | description |
---|---|
変更した内容を簡潔にまとめたタイトル | 変更の詳細な内容 |
Commitとは
ファイルの追加や変更の履歴をレポジトリ(ブランチ)に保存すること
Commitはこまめにすると良いと思います。
日記と同じでまとめて一気にしようとすると、記載抜けがあったり後で振り返った時に探しづらくなるかもしれません。一区切りついたらCommitするよう心がけましょう。
Pull requestをする
自分が行ったタスクの作業をメンバーに知らせるために、Pull requestをします。
これは自分が行った作業の最終確認に値します。
Pull requestを送る際にそのタスクの詳細を記載する場所があるので、Todoにタスクを追加した時と同様に
- なぜ必要なのか
- なんの要素があるか
- その内容はどこに影響するのか
上記3点を含めて記載するとよいと思います。
チームのメンバーにレビューをしてもらい、修正箇所があれば該当の修正を行うため作業に戻ります。(Commitの工程に戻る)
レビューの確認が取れ次第、最後の工程に移ります。
Mergeする
レビューが終わり確認が完了したら、作業した内容を元のブランチに結合させます。
ここまでがタスクにおける一連の工程になります。
Discussion