ChromeOS Flexで無料のGitクライアントを使う

:::note warn
この記事は非常にニッチな内容を扱っています。
多くの方には役に立たない記事だと思います。
:::

:::note warn
投稿者は初心者です。
Gitもあんまりわかっておらず、できたことを記事にしてるだけです。
:::


## 0.はじめに

私は、非エンジニアの初心者でドシロウトでしかも貧乏です。

貧乏なので、Windows11非対応のPCを主に利用しており、そのためOSもChromeOS Flexを利用しています。

https://chromeenterprise.google/intl/ja_jp/os/chromeosflex/

Gitリポジトリホスティングは、主にBitbucketを利用しています。

https://bitbucket.org/

Gitクライアントは、以前は、Windows10でSourcetreeを利用していました

https://www.sourcetreeapp.com/

少し前にWindows10からChromeOS Flexを個人用のメインOSにしてから一番困っていたのがGitクライアントの問題でした。

GitクライアントじゃなくてCLIでやれという話もありますが…正直苦手です。

ChromeOS Flexでは、基本的にはWebアプリしか利用できませんが、以下の記事の通り、Linux開発環境を利用することが可能です。

https://engrholiday.jp/linux/chromebook-linux/#google_vignette

SourcetreeはWindows用のアプリなので、Linux開発環境では、そのままでは動かせません。（Wineで動かせた方がいましたら、コメントでお教えください。）

そこでLinux用アプリでGitクライアントを探しましたが、一番有名なのはGitKrakenだと思います。

https://www.gitkraken.com/

GitKrakenは、非常に優れたGitクライアントですが、以下の理由で非エンジニア向けではありません。

* 基本的に有料（月額方式のサブスク）
* 無料プランでは、Gitリポジトリホスティングへのアクセスは公開リポジトリのみ

私は、Bitbucketをプライベートリポジトリで利用なので、有料しか選択できず、あきらめました。（ただし、ChromeOS Flexで利用はできた）

そこで、以下の条件のGitクライアントを探した話がこの記事の内容になります。

* 無料
* Linuxアプリ
* ChromeOS FlexのLinux開発環境で動作
* Bitbucketのプライベートリポジトリで利用できる

この段階でこの記事に意味があると思う人は、ほぼいないと思いますが続けます。

## 1.Gitクライアント

Git公式サイトで紹介しているGUIは全部で50種類以上あるようです。

https://git-scm.com/downloads/guis

あちこち、ネット情報を探しましたが、ChromeOS FlexのLinux開発環境で動作したという情報がほぼなく、適当にいくつかインストールしてみて最初に普通にインストールできたのは、Git Colaでした。

公式サイト

https://git-cola.github.io/

GitHubリポジトリ

https://github.com/git-cola/git-cola

公式サイトとGitHubリポジトリでインストールコマンドが違うのですが、GitHubリポジトリのコマンドにsudoをつければインストールできました。

    sudo apt install git-cola

Bitbucketのプライベートのリポジトリのクローンは、初回起動時にウィザードのような画面が出て簡単でした。

## 2.発生した問題

簡単だと思っていたら問題が２つ発生しました

### 2-1.ステージングはできたが、コミットボタンがない

ステージング自体は、画面上部のツールバー「コミット」から問題なくできましたが、コミットしようとしてコミットボタンが見つけられず困りました。

説明が難しいのですが、Git Colaは、初回起動時にMDI（Multiple Document Interface）型の画面が、重なって一部裏に隠れて表示される場合があるようです。

そのような、説明はどこのネット情報にもなく、２時間ほど悩みましたが、画面の境界をドラッグしてずらすと裏に隠れた画面が現れました。

裏に隠れていた画面を表示するとコミットボタンも表示されました。

![GJjGOpRacAAeKO7.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/35574/d95e6bf9-84a7-e263-dae5-1642b68e3bbf.jpeg)

### 2-2.Bitbucketリモートリポジトリへのプッシュ時に、パスワードが要求される

プッシュは、画面上部のツールバー「アクション」から選んで、プッシュ専用別画面でプッシュボタンを押すだけですが、プッシュボタンを押したときに、パスワードが要求されます。

これは、Bitbucketではアプリパスワードといわれるもので、ブラウザー側で事前に作成が必要でした。

https://support.atlassian.com/ja/bitbucket-cloud/docs/create-an-app-password/

だいたいの流れを画面イメージで説明すると以下です。

1.上部ナビゲーション バーの右上隅にある [設定] 歯車アイコンを選択します。

![コメント 2024-05-17 095527.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/35574/89b1b48f-0552-95a9-40c4-3c789f310382.png)

2.[個人設定] で、[Bitbucket 個人設定] を選択します。

![コメント 2024-05-17 095603.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/35574/5f3ccbcb-3afd-607b-ceb1-2768945d9bc3.png)

3.左側のサイドバーで、[アプリ パスワード] を選択します。

![コメント 2024-05-17 095647.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/35574/4c2922c0-a21f-57e8-d42f-9c57f48f18e6.png)

4.[アプリ パスワードを作成] を選択します。

![コメント 2024-05-17 095732.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/35574/3b9f114a-fe6f-5545-e694-31066a1a4663.png)

5.アプリ パスワードに必要な権限を選択します。

![コメント 2024-05-17 100054.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/35574/b75e8432-123a-27f1-7018-3e61497b2d53.png)

この権限もよくわからないのですが、リポジトリの権限を全てチェックしました。公式の説明はありますがわかりづらいです。

https://support.atlassian.com/ja/bitbucket-cloud/docs/app-password-permissions/

作成ボタンを押すと、パスワードが表示されます。
パスワードをコピーして、テキストファイルなどに保存します。（パスワードは一度だけ表示され、後から取得することはできません。）

## 3.２か月ほど使ってみて

インストール後、２か月ほど使ってますが、私の使い方が、以下程度なので問題なく使えています。

1. ローカルリポジトリを修正
1. Git Colaでステージング
1. Git Colaでコミット
1. Git ColaでBitbucketにプッシュ

不満点は２つです。

### 3-1.公式ドキュメントが難解

わかりづらいなんてレベルじゃありません。

https://git-cola.readthedocs.io/en/latest/

### 3-2.エラーメッセージがPythonのエラーメッセージそのまま

Git ColaがPythonでできてるからでしょうが、不親切です。

## ４．終わりに

そもそもChromeOS FlexでGitクライアントをタダで使いたい人がどの程度いるでしょうか？
私だけかもしれません。

ニーズないでしょうが備忘録で書きました。

## ５．参考文献

記憶があいまいだが初回クローン時はこんな感じだったと思う
https://cerebrux.net/2013/02/07/github-git-cola-gui-step-by-step-management-of-your-code/

以　上