LOGzeudon

名古屋で働いているWebデザイナーのブログです

AtomエディタのGit/GitHub機能をこんな感じで使ってます!という話

AtomエディタのGit/GitHub機能をこんな感じで使ってます!という話

つい最近、Sublime TextがGitクライアントSublime Mergeをリリースしたと話題でしたが、私も愛用しているAtomエディタの方は2017年6月にGit/GitHubとの連携に対応していました。

高機能ではないものの、しばらく使っていて特別不満は感じていません。あと、リリース当時と画面を見比べると、機能強化されて使いやすくなっている気がします。
ちょうど良い機会なので、私の今の使い方をざっくりまとめました。

ちなみにHTML(ごく稀にPug)とCSS(LESSかSCSS)コーディングとかをたまにやっています。

標準機能と便利なパッケージ

Project Manager

Project Manager - Atom

Project Manager for easy access and switching between projects in Atom.

f:id:rokuzeudon:20180930045818p:plain

個人的にはGit使うかどうか関わらず必須だと思っているパッケージ。便利。
あらかじめ保存しておいたプロジェクト(フォルダ)を呼び出して、すぐ作業に取りかかれます。

Git Tab

標準機能です。control + shift + )で画面右に表示。

f:id:rokuzeudon:20180930045827p:plain

Gitを利用しているプロジェクトで、変更したファイルのステージやコミット、取り消し(Discard)などできます。
特定範囲だけ指定(Hunk)や一つ前のコミットのやり直し(Reset)もコマンド入力不要で楽チン。

GitHub Tab

標準機能。control + shift + (でGit Tabと切り替えます。

f:id:rokuzeudon:20180930045847p:plain

作業中のプルリクエストや、リポジトリでオープンになっている他のプルリクエストをプレビューできます。
あくまでGitHubだけで、BitbucketやGitLabは表示できません。

PlatformIO IDE Terminal

PlatformIO IDE Terminal - Atom

A terminal package for Atom, complete with themes, API and more for PlatformIO IDE. Fork of terminal-plus.

f:id:rokuzeudon:20180930045854p:plain

command + shift + T で画面下部にターミナルを出します。npm startなどのコマンドを入力してそのまますぐ作業に移れるのが特に便利ですが、Atomの基本機能に無いGitコマンドもここで実行できます。

実際どんな感じで使っているのか

今回は、GitHubとNetlifyなHugoブログ「6z」(ほぼ放置中)をサンプルに、記事を更新してプルリクエスト、マージするまでの流れを紹介します。

プロジェクトフォルダを表示

f:id:rokuzeudon:20180930045905p:plain

command + control + P で、登録済みのプロジェクトを呼び出します。

データを最新の状態に

画面右下にある「Fetch」をクリック。もしリポジトリ側に新しいコミットが20件あれば、「Pull 20」のように表示されます。

f:id:rokuzeudon:20180930045930p:plain

オプションでFource Pushも選択可能。

f:id:rokuzeudon:20180930045933p:plain

Rebase関連などはありません。

ブランチを変更

右下の設定欄から、コマンド不要でブランチの切り替えや追加ができます。
今はmaterブランチにいます。

f:id:rokuzeudon:20180930050003p:plain

今回はadd-postブランチを新しく追加します。

f:id:rokuzeudon:20180930050006p:plain

f:id:rokuzeudon:20180930050010p:plain

追加と同時にチェックアウトしました。

ファイルの追加

新しい記事を投稿するために、まず過去の記事ファイルを複製してみます。
ツリーでファイルを選択し、Dを打つと複製できます。

f:id:rokuzeudon:20180930050144p:plain

新しく追加したファイルは緑色で表示されています。
さて、早速この変更をadd-postブランチにコミットしてみます。

Git Tabにて対象ファイルを選択。

f:id:rokuzeudon:20180930050154p:plain

Return キーを押すとステージングします。

f:id:rokuzeudon:20180930050251p:plain

メッセージを入力してコミット。履歴に追加されました。

f:id:rokuzeudon:20180930050309p:plain

取り消したい時は「Undo」ボタンをクリックするだけ。履歴を常時確認できるのも使いやすいポイントです。

ファイルの更新

さて、複製したファイルの内容を、新しい記事へ変更します。

f:id:rokuzeudon:20180930050333p:plain

保存すると、このように差分を見れます。ツリーとGit Tabの色はオレンジになりました。
ちなみに、必要な場所だけ選択してステージング(Stage Selection)することもできます。

f:id:rokuzeudon:20180930050348p:plain

f:id:rokuzeudon:20180930050351p:plain

メッセージ入力して、今回はファイルをコミット。

f:id:rokuzeudon:20180930050408p:plain

コミットした後、Publish(ブランチをローカルからリモートへ初めてPush)をクリックします。

f:id:rokuzeudon:20180930050443p:plain

一瞬表示が「Push」になり、

f:id:rokuzeudon:20180930050448p:plain

完了して表記が「Fetch」になりました。
GitHub Tabを開くと、「Open new pull request」ボタンが表示されています。

f:id:rokuzeudon:20180930050505p:plain

クリックすると、GitHubのプルリクエスト作成画面へ直接移動します。

f:id:rokuzeudon:20180930050639p:plain

f:id:rokuzeudon:20180930050642p:plain

早速プルリクエストを作成しました。
ここでAtomへ戻りFetchします。

f:id:rokuzeudon:20180930050723p:plain

このように、Atom上からプルリクエストの内容を確認できます。
さて、プルリクエストをマージします。

f:id:rokuzeudon:20180930050907p:plain

f:id:rokuzeudon:20180930050910p:plain

マージしました。Atom側の表示も、Fetchすると変わります。

f:id:rokuzeudon:20180930050938p:plain

以上です。大まかにこのような流れで作業しています。
ちなみにブランチの削除はAtomの機能に無いので、ターミナルで git branch -d {ブランチ名} します。

使っていて気になるところ

  • プロジェクト内のデータが多いと、起動時だいぶもっさりする
  • Git/GitHub Tabが一発で表示されないことがある
    • ウィンドウ再起動するとだいたい直る

終わりに

致命的に不便だと感じたことはほとんどありません。実際の作業では、他にも色々なパッケージやショートカットを活用しています。
強いて言えば、もっとキビキビ動作すると嬉しいですね…。

ぜひ一度Atomを利用してみてください。
また、より便利な使い方や機能・パッケージがあれば教えてください。

なんで書いたのか

最近デザインツールのFramerXを試し始めたのですが、Visual Studio Codeとの連携が強力らしく、そちらも試してみました。
すると、今回Atomでやってるようなことが初期設定でだいたいできるっぽいじゃねえか!!!ということで乗り換えを検討中です。その前に…!と思い、勢いに任せて書きました。

あと、JetBrains製のWebStormも気になっていて、空いた時間に試す予定です。気が向いたらそのあたりの顛末を書くかもしれません。