【GitHub Desktop導入検討中の方必見】ツールを徹底解説

TECH::NOTE(テックノート)は、未経験から最先端のテクノロジー人材へTECH::CAMP(テックキャンプ)、10週間でエンジニア転職実現までサポートを行うTECH::EXPERT(テックエキスパート)、これらのサービスを運営する株式会社divのオウンドメディアです。

世の中にはたくさん類似のGitクラアントツールがあり、あなたもどのクライアントツールが良いか迷った経験はないでしょうか?

本記事を一通りご覧いただければGitHub Deaktopを使用せずとも、操作感や特徴をイメージしていただける記事となっています。

さぁ、GitHub Desktopを使ってより良いGitライフを過ごしましょう!

もしGitやGitHubをあまり使ったことがない方は、まず下記の記事を読んでから本記事を読んでみてください。

Githubを使って開発効率を上げよう!〜使い方解説・入門編〜

 

GitHub Desktopの特徴

GitHub公式ツール

ツールの名前にもなっているとおり、GitHubの公式ツールです。
GitHub公式ツールだけあって、GitHubと連動した操作が可能な点が特徴です。


また、GitHub Flowに基づく開発を想定して作られているところもポイントです。
GitHubアカウントと連動しているため、GitHub上のプルリクエストもツールから可能です。

公式サイトはこちら

windows、mac 両対応

OSに依存せずに同じアプリを使えるところも非常に嬉しい所です。
以前はwindows版はGitHub for windows、macはGitHub for macと分かれていましたが、これらがGitHub Desktopに統合された形です。

windows版とmac版で若干の見た目の違いはあるものの、レイアウトや機能はほとんど同じです。
またWindows版ではGitHub Desktopのインストール時に、コマンドライン版Git(GitHub Shell)も一緒に導入できるため、このツールを入れておけばGitを使用できるようになります。
windowsユーザにも非常に優しい作りとなっています。

簡単でシンプル

コマンドラインでの操作に比べて機能が絞られていますが、非常にシンプルな操作性となっています。
コマンドを抽象化し、Gitコマンドを知らなくても簡単に使えます。
余分な操作をユーザにさせず、手間を減らそうという気持ちが伝わってくる操作感です。
ただし普段からGitコマンドに慣れている人にとっては、用語が独特な点と操作手順が若干異なっているところには注意が必要です。

 

それでは実際の操作画面を見ていきましょう。

【徹底解説】GitHub Desktopの特徴と操作感

この章ではGitHub Desktopの特徴を説明しながら、ツールの便利ポイントをピックアップして解説していきます。
GitHub Desktopは非常にシンプルで1操作で複数のGitコマンドを実行してくれます。
情報を最低限に絞り、面倒くさい操作から開放される点がこのツールの人気なところですので、是非便利さを実感してください。

『見やすい』現在操作中のブランチの状態

blanch_watch

GitHub Desktopでは作業中のブランチと派生元のブランチしか状態を表示しません。

一度にたくさんのブランチが存在するプロジェクトなどでは、作業中のブランチにフォーカスしてくれる点が非常に助かります。
特にGitHub Flowに基づく開発では開発用のブランチから新規ブランチを作成して作業をしていきますので、派生元ブランチと作業中のブランチだけ見えれば事足ります。
余計なブランチの情報を表示しない心遣いが、GitHub Desktopの利便性の一つです。

『最速のブランチ切り替え』stash不要

switch_branch

GitHub Desktopではブランチを切り替える際、自動でstashとcheck outをしてくれます。

check out先のブランチに変更中のファイルが競合してしまい、ブランチを切り替えれないという状況でもワンクリックでブランチを切り替えれます。

また一度stashしたファイルは、そのブランチをcheck outした際に自動で元に戻してくれます。

ここは私が最も強調したいGitHub Desktopを使用する際の便利なポイントです。

『リモートブランチへのpush』PublishとSync

GitHub Desktopではローカルリポジトリからリモートリポジトリに初めて上げる際は『Publish』

続いてそのブランチをローカルリポジトリとリモートリポジトリで同期する際の操作を『Sync』と呼びます。

GitHub Desktop ならではの用語ですが、通常のGitではローカルリポジトリで作成したブランチをpushする行為がこれに相当します。

ローカルのブランチを『Publish-公開』し、続いて変更した内容を『Sync-同期』しながら開発を進める、という感覚的な言葉になっています。

少々イメージが付きにくいと思うので通常のGitの用語と置き換えながら、画像付きで解説していきます。

 

1.ローカルリポジトリにて新たにブランチを作成する。(Create new Branch)

create_branch

派生元のブランチを選び、ブランチ名を入力して『Create Branch』します。

 

2.作成したローカルリポジトリのブランチをリモートリポジトリにpushする。(Publish)

publish

『Publish』ボタンを押すと、リモートリポジトリへ作業中のブランチがpushされます。

このようにローカルで作成したブランチをリモートリポジトリーへ初めてpushする際はGitHub Desktopでは『Publish』と呼びますが、
より感覚的な用語になっており、Gitに馴染みのない方でもイメージしやすいですね。

 

3.ローカルリポジトリに変更をコミットする。(Commit)

commit

コミット画面については上図で全てなのですが、ファイルを選択してコメントを記載して完了です。

git add <file pattern> のようにインデックスにファイルを登録する操作がありません。
こちらもGitHub Desktopが自動で実行してくれるのです。

コマンドラインから実行するのに比べると、ファイルを選択して、そのままコミットできるのは嬉しい所です。

 

4.リモートリポジトリへ変更をpushする。(Sync)

sync_push

一度Publishをしており、ローカルリポジトリとリモートリポジトリと紐付いたブランチをpushする際はGitHub Desktopでは『Sync』となります。
sync(同期)という単語が感覚的です。

以上が『Publish』と『Sync』という考え方です。

 

『リモートリポジトリからのpull』Sync

pushの操作でも『Sync』という操作が出てきましたが、リモートリポジトリをローカルリポジトリへ取り込む際にも『Sync』を使用します。
GitHub Desktopではローカルからリモートへ変更を公開する際も『Sync-同期』、リモートからローカルへ変更を取り込む際も『Sync-同期』という考え方です。
このあたりもGitに馴染みのない方には単純でわかりやすいのではないでしょうか?
リモートとローカルを一致させる際はとりあえず『Sync-同期』にすれば良いのです。

Gitでいうfetch +marge やpullを兼ね備えた機能ということになります。

sync_pull

リモートリポジトリからの取り込みは『Sync』ボタンを押す。これだけです。

pullとpush全てをボタン一つで実行可能な『Sync』ボタンはGitHub Desktopの一押し機能です。
デザイナーとエンジニアが同一ブランチ上で作業する場合にも『Sync』を押すだけで、状態がお互いに同期できますので、とても便利です。

『Pull Request』をツール上から作成できる

GitHub Desktopではツール上でPull Requestを生成できます。

こちらも画像つきで操作を見ていきましょう。

pr

このようにローカルからPull Requestをボタン一つで作成できます。

さらに一度作成したPull Requestへもすぐにアクセスできます。

link_pr

上図の赤枠のボタンを押すだけでブラウザが立ち上がり、GitHub上の該当のPull Requestへアクセスできます。

【要注意】GitHub Desktopでできないこと

さて、ここまでGitHub Desktopの特徴を操作画面と併せてご説明してきました。
かなりシンプルな操作性で利便性が伝わったのではないでしょうか?

次はGitHub Desktopでできないことをお伝えしていきます。

細かいGit操作ができない

GitHub Desktopではrebase、reset、cherry pickといった細かいGit操作はできません。
もし必要な場合はコマンドラインツールや他のツールを使用して実施することになります。
この点がツールを使用する上での最大の注意ポイントです。

空コミットができない

GitHub Desktopでは空のコミットが作成できません。
そのため、作業開始時にWIPなPull Requestを作成するという運用をしている場合は少々使いにくいかもしれません。

他ツールとの併用がオススメ

注意ポイントとして細かい操作ができないことを挙げましたが、私の経験上あまり特殊な操作は頻繁には発生しません。
前章で解説した操作で事足りる場合がほとんどではないでしょうか。

細かい操作ができないデメリットを上回る見やすさと通常オペレーションの簡便さを提供してくれていますので、普段はGitHub Desktopを使用し、特殊な操作をする時にだけ他ツールを使うという方法がおすすめです。

また、特殊な操作に限ってはコマンドラインを使用してやってしまうという方法もおすすめです。
特にプログラミング初学者の方で、まだGitに慣れていない方は、敢えてコマンドラインから実行してみるのも勉強のためには良いのではないでしょうか。

まとめ

ここまでGitHub Desktopの特徴をご説明してきましたがいかがでしょうか?

シンプルな操作をする場合は他のツールに比べて操作が非常に簡便です。
特に『Sync』機能とブランチの切り替え時に自動でstashしてくれる機能が本当に優秀です。

こんな方にオススメ

0dc73ae7b913bb826cbcf819e18020e7_s

出典:写真AC

GitHub Desktopの簡便さを活かせるプロジェクトの方には特にオススメです。

・単一機能、単一ブランチでデプロイする開発フローで開発する方

余計なブランチが表示されないため、非常に見やすいです。
GitHub Flowに基づいた開発を進めるプロジェクトには適しています。

一方、複数のブランチをデプロイするような開発フローの場合には一度にブランチを閲覧できないので、少々使いにくいかもしれません。

・デザイナーとエンジニアで共同開発している方

デザイナーと作業をしているなど、同一ブランチを複数人で機能開発を進める際にはお互いに同期を取りながら進めることになるかと思います。
この際には『Sync』ボタン一つでpushとpullができるため、同期が簡単です。
ボタン一つでお互いに同期を取りながら進めることができます。

・GitHub を使用して開発を進めるプロジェクト

Pull Requestをツール上で簡単にでき、GitHub のWebサイトへもボタン一つで飛べます。
GitHub公式ツールだけあって、GitHubとの親和性が非常に高いです。

 

最後に

いかがでしたでしょうか?この記事を通してGitHub Desktopの操作感や特徴をイメージしていただけましたか?

数あるGitクライアントツールの中でのルール選びの一助になれば幸いです。

効率の良いツールを使ってより快適なGitライフを送っていきましょう!

 

さらに詳しくGitについて知りたい方は、こちらの関連記事もご参考ください。

【GitHubとは?】世界一優しいGitHub入門講座

【開発者必見】githubからのファイルダウンロード方法

git cloneを徹底解説(branch、ssh、オプション指定等)

 

TECH::CAMPについて

TECH::CAMPは、講義形式で知識だけを学ぶのではなく、実際にサービスを作りながら実践的に学んでいきます。

TECH::CAMPならプログラミングが、なんとなく分かるではなく、一人で出来るようになります。

また、質問し放題のため、分からないところを質問しすぐに解決することで、どんどん新たなスキルを身につけることができます。

この機会にプログラミングを学びませんか?

banner_techcamp

絶対に挫折しないテクノロジー体験会で
最新のプログラミングを学ぼう

プログラミング体験会

TECH::CAMP』のプログラミング体験会なら、Webや人工知能、VRといった最新テクノロジーを無料で学べます。教室で講師に質問し放題なので、全くの未経験からでも絶対に挫折せずにやり切れます。

  • 実際にプログラミングを触れる
  • 質問し放題なので、疑問点が即解消される
  • テクノロジーをなぜ学ぶべきなのか明確になる
  • 人工知能やVRなど他では学べないテクノロジーが学べる

まずは一度プログラミングに触れてみたい方は気軽にご参加ください。なお月に1000名以上が参加するため、予約はお早めをオススメしております。

プログラミング体験会を詳しく見る

尾崎 皓一 尾崎 皓一
  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

SNSでもご購読できます。

  • カテゴリー