

Git初心者です。  
以前SouceTreeの勉強をしたことがあるのですが(複雑で挫折し)  
今改めてGitHub Desktopを使ってみると、

「フェッチ・プル・プッシュが1つのボタンに集約されていたり」  
「ツリー形状のビジュアルも無い」などと、  
概念がかなり簡略化されていて、  
(ツリーも意識せずに)ただブランチを作って、コミットして、プッシュするだけのような感じ、  
ようやく使える？感じになりました。

逆に、  
「ブランチ以外(タグやHEAD・過去のコミット)にはチェックアウト出来ない」  
「ツリー形状がない」  
「ターミナルを呼出すボタン等もない」  
等というのは、

「それを使わなくても、GitHubの最小限の機能(プルリクなど)で十分に効果を発揮するから、簡略化されている」  
という認識で良いでしょうか？ (勉強の幅を広げたほうが良いのか、一旦このまま進めたほうが良いのか知りたいためです)

もしくは、「単純にGitHub Desktopの開発が追いついていないだけで、  
最小限の機能だけでは、(現場にもよると思いますが) 正直実践では使えなくて、ターミナルや他GUIツールを使っていく必要がある」  
という形でしょうか？


CC BY-SA 4.0
2020-03-16T23:54:05.290
63917
2020-03-17T01:57:17.010
2020-03-17T00:43:22.127
3060
36257
question
git github-desktop
GitHub Desktopは使える？機能不足？


あるソフトウェアが開発者一般にとって使用に堪えるものかどうかは客観的な評価がしづらいのでその方向で答えることは避け、GitHub Desktop
がどういう目的で開発され今後どういう風に開発されていく予定だと公開されているのか、を答えます。

GitHub Desktop が公式の文書を出しており、そこから引用します。

<https://github.com/desktop/desktop/blob/development/docs/process/what-is-
desktop.md>

> **3\. GitHub Desktop prioritizes workflows for beginners and collaborative
> teams.**  
>  We want to create an inclusive and approachable way for developers to turn
> ideas into reality, and we see GitHub Desktop as critical in reducing the
> intimidation of working with Git on the command line. Users of all
> experience levels will continue to benefit from GitHub Desktop’s features
> but when we have to choose between workflows for advanced Git users and
> workflows for beginner Git users, we prioritize beginners. Additionally, we
> think it’s foundational to support solo development, but our unique value
> comes from combining the power of GitHub with the convenience of working
> locally so that you can collaborate with your team easily. This also means
> GitHub Desktop will likely not support workflows that are unique to your
> team, against documented best practice, or different from the vast majority
> of developers.

特に "we prioritize beginners" の部分が参考になるかなと思います。つまり、GitHub
を使う人全員が使いやすいように設計されているものの、既に git をターミナル等で柔軟に使える人よりかは git 初心者が簡単に git
を使えるような設計になっています。

補記：やり方や設計思想へもっと具体的に切り込んだ回答が欲しい場合、今回のように機能全般について問う形の質問の替わりに「GitHub Desktop
で○○という機能を行うには？」みたく評価の基準が分かりやすい形の質問を新たにしていただけると、「それはこうしたらできる」「まだ実装されていないけど予定はある」「こういう理由で実装される見通しは薄い」のような回答を書きやすいです。


CC BY-SA 4.0
2020-03-17T00:44:37.240
63919
2020-03-17T01:36:23.153
2020-03-17T01:36:23.153
19110
19110
63917
answer


GitHub Desktop もそれなりに開発歴のあるツールだと思うので "開発が追い付いてない" というよりも  
"必要最小限の機能に絞って" が設計思想としてありそうです。

ツールに何をどこまで求めるかは人それぞれですが、私は Git のGUIクライアントとして
[GitKraken](https://www.gitkraken.com/) を利用しています。GitHub Desktop
よりも出来ることは多いですが、個人的にはコミットグラフの表示用に使っている程度で、実際にはコマンドラインでの操作がメインです。


CC BY-SA 4.0
2020-03-17T01:05:23.630
63921
2020-03-17T01:05:23.630
3060
63917
answer


既に回答されている内容と大した違いは無く、蛇足に近いですが。

@nekketsuuu さん紹介のページ全体をGoogle翻訳等に通して見てみるのが吉かなと。

その中で質問に一番短く答えているのが以下の文と思われます。  
つまり全ての機能・要求を単独のソフトウェアで叶えるものではありませんよ、ということです。

(太字は引用者)

>   1. GitHub Desktop reduces frustration and makes Git and GitHub workflows*
> more approachable.
>

>
> GitHub Desktop is not a replacement for the functionality of Git, but a tool
> to enable you and your team to be more productive.
>
> **GitHub DesktopはGitの機能に代わるものではなく、** あなたとあなたのチームの生産性を向上させるツールです。


CC BY-SA 4.0
2020-03-17T01:57:17.010
63922
2020-03-17T01:57:17.010
2020-06-17T08:14:45.997
-1
26370
63917
answer