🐙

チーム開発 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をダウンロードします
https://desktop.github.com/
インストール後、ソフトを開いて自身のGitHubアカウントと連携します。
アカウントをお持ち出ない場合は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 BranchNew Branchを選択し、Branchの名前を入力します。名前に関してはタスクで示した名前を入れます。

Branchとは

リポジトリ内の領域でバグを修正したり・新しいアイデアを開発するために外部の影響を受けず開発を行うことができる機能。

Commitをする

作業内容を随時Commitしましょう。

Commitにはsummarydescriptionがあり、それぞれテキストを書くことができます。

summary description
変更した内容を簡潔にまとめたタイトル 変更の詳細な内容
Commitとは

ファイルの追加や変更の履歴をレポジトリ(ブランチ)に保存すること

Commitはこまめにすると良いと思います。
日記と同じでまとめて一気にしようとすると、記載抜けがあったり後で振り返った時に探しづらくなるかもしれません。一区切りついたらCommitするよう心がけましょう。

Pull requestをする

自分が行ったタスクの作業をメンバーに知らせるために、Pull requestをします。

これは自分が行った作業の最終確認に値します。
Pull requestを送る際にそのタスクの詳細を記載する場所があるので、Todoにタスクを追加した時と同様に

  • なぜ必要なのか
  • なんの要素があるか
  • その内容はどこに影響するのか

上記3点を含めて記載するとよいと思います。
チームのメンバーにレビューをしてもらい、修正箇所があれば該当の修正を行うため作業に戻ります。(Commitの工程に戻る)
レビューの確認が取れ次第、最後の工程に移ります。

Mergeする

レビューが終わり確認が完了したら、作業した内容を元のブランチに結合させます。

ここまでがタスクにおける一連の工程になります。

アプリ開発サークル@IPUT

Discussion