初心者の味方？すごいぞGitHub Desktop！ ～Qiitaの記事を更新してみた～


# はじめに
コマンドプロンプトもGit・GitHubも、使えるようになったら便利だし、現場で使えるプログラマーになるには使えるようにならなきゃだと思う。初心者が使う基本的な操作は本職の方からしたらきっと単純で、繰り返しやっていれば覚えるのだろう。

でも、よくわからないエラーがいっぱい出てくる！ググる、Qiitaを見る、ChatGPTを使う、色々やってみてもなんだか上手く解決しない、解決するまでに時間がかかるし、解決したと思ったら時間をかけすぎてここまでの流れを忘れている……

そんなことが起こる初心者の同志、いないだろうか？
もちろん並行してコマンドプロンプトを使った方法の学習は必要であろうことは前置きしたうえで、GitHub Desktopを使うとQiitaの記事を更新する際に驚く程サクサクとできてしまったので、まとめておく。

:::note
この記事について
初心者が気づいたことを自分の備忘録兼同じ初心者向けとして書いています。
また、あくまで業務レベルに到達しておらず、個人の趣味や勉強中レベルの者の記事です。
集団や業務で使用する際にはリスクが伴うことの記載がある可能性も考えられますので、この記事だけを参考に業務に使用することはやめた方が良いと思われます。
また、誤認していることもあるかと思いますので、その点はご指摘いただけますと幸いです。
:::


# 前提条件
* GitHubのアカウントがある。
* リポジトリの作成とシークレットの設定が終わっている
* 既に一度GitHubからQiitaの記事を更新している

以上の条件の下行った。

# やったこと

### 1\.　GitHub Desktopをインストールする
インストールは[GitHub Desktopのインストール方法](https://docs.github.com/ja/desktop/installing-and-authenticating-to-github-desktop/installing-github-desktop)を参考にすれば間違いないと思われる。
GitHub Desktopは日本語化されたものは公式から出ておらず、有志の方々が日本語化を試みているようだが初心者には難しそうなので、英語のまま頑張ってやっていく必要がありそうだ。インストール時点から頑張ろう。

### 2\. GitHubアカウントでログインする
インストールが終わるとログイン（紐づけ）を要求されるので、自分のアカウントで入る。

### 3\. GitHubからクローン
GitHubのリポジトリをクローンしてくる。
空のディレクトリを作って、そこにクローンしてくるわけだが、今回の場合、元々コマンドプロンプトを使ってプッシュした諸々が入った、元のディレクトリが存在する。基本的には同じものが入っているはずで、今後の追跡はクローンしたディレクトリになるので、元のディレクトリは抹消！！
する前に **ちょっと待って！** あくまで本記事は個人の趣味や勉強中レベルの人向けなので、ミスって学習するのも有効と言いたいところではあるが、それでも一生懸命行った変更を抹消してしまった時の悲しみは計り知れない。
**必ず一度、元のディレクトリとクローンしたディレクトリを比較**して、元のディレクトリで大きな変更をしているのに反映してなかった等が起きないように気を付けよう。
元のディレクトリに最新版がある場合には、クローンで持ってきたディレクトリにシンプルに移し替えればOKだ。

### 4\. pullとかcommitとかpushとか
コマンドプロンプトでやってると、これでもかとエラーが出る。メッセージを読み解くのも一苦労だし、その通りにやっているはずなのにまたエラー。
それがこのGitHub Desktopだと、変更があったらすぐに教えてくれるし、差分も見られる。コマンドを入力しなくてもコミットメッセージを入れられる。恐らく本来エラーが出ているであろうところも、ポチポチ作業で完了してしまう。

#### Qiitaの記事を更新してみた。

![スクリーンショット 2024-08-12 213952.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3854897/29927268-7032-0a15-25c0-6fe87360dbf7.png)
なんか目次がずれてるし、ちょっと直したいところもあるんで、VScode使って直していく。
<br>

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3854897/ae683078-3951-4e81-df1a-a7c73cc78066.png" width=50%><br>
変更した後でGitHub Desktopで該当のディレクトリを開くと、変更があったことを知らせてくれている。
<br>

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3854897/0f87f509-318f-a00c-55ef-b5be229951a4.png" width=50%><br>
左下にコミットメッセージ（と必要に応じて詳細な説明）を入れて、`commit to main`をポチ
<br>

![スクリーンショット 2024-08-12 214301.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3854897/c2d0ca22-c50f-32fe-a1ee-2288eb84c5ba.png)
画面右側に`push origin`と出てくるので、ポチ
<br>

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3854897/b2011df5-b1da-fe4a-a559-0f887f3192b2.png" width=75%><br>
無事変更がQiitaに反映されていました！
<br>

やだ簡単～！！
エラーが出てきたときの厄介なあれやこれやもポチポチで済んじゃいます。（pullとかいろいろ出てきたら、その時何が起きているのかはちゃんと調べて操作してください）

### 5\. GitHub Desktopのデメリットって？
こんなに便利なGitHub Desktop、どう考えても初心者にはもってこいである。
でもGitHubとコマンドプロンプトを教えられるのにはきっと理由がある。GitHub DesktopのデメリットをサクッとまとめてほしいとChatGPTに頼んでみた。

>1. **機能の制約**:
GitHub Desktopは操作が比較的シンプルで使いやすい反面、高度な機能やカスタマイズが限定されている場合があります。特定の拡張機能や設定が必要な場合は、他のGitクライアントと比べて選択肢が制限されるかもしれません。
>2. **柔軟性の欠如**:
GitHub Desktopは直感的で初心者には優しいインターフェースを提供しますが、複雑な操作やカスタマイズを行いたい場合には、他のGitツールへの移行が必要になるかもしれません。
>3. **プラットフォームの限定**:
GitHub DesktopはGitHubとの連携に特化しており、GitHub以外のリモートリポジトリやサービスとの連携が限定されることがあります。そのため、他のプラットフォームやサービスを使用する場合には、適切なツールを選定する必要があります。
>4. **パフォーマンスの面**:
一部のユーザーは、GitHub Desktopのパフォーマンスや速度について不満を持つ場合があります。大規模なプロジェクトやリポジトリを扱う場合に、操作の遅さや負荷が気になることがあります。

例えば、今回試しにGitHub DesktopからQiita記事の更新をしてみたわけだが、GitHub Desktopからsecretの設定ができないため、事前にGitHubでリポジトリのsecretの設定をしておく必要があるらしい。
また、大きなファイルをGitHubにプッシュしたいときは、GitLFSを使うのだが、これを導入するのもGitHub Desktopからポチポチポチ～とはいかない。
更には操作に時間がかかる等の問題も起こりうるという。

要は、GitHub Desktopが使える範囲や、快適に使える程度には限度があり、結局はGitHubから操作しなければならない、コマンドプロンプトも使える必要がある等する。
GitHub Desktopは実際の現場で使われることも珍しくないらしい。できることに使っていくのは良いと思われる。しかし並行して、**GitHubの多彩な機能やコマンドプロンプトを覚える**こともしていかなければならない。

つまるところ、勉強からは逃れられず、エラーとは闘い続けなければならないということだろう。業務レベルになってくると、慎重な使い分けや使わない判断なんかも大変そうだと思った。

### 6\.最後に
楽をできる所は楽をしながら、しっかり学ぶところは学びながら、学習でも上手く取捨選択（？）しながら、効率的にかつ質も高く進めていこうと改めて思った。