GitHub for Atom
Atom 公式の GitHub Package らしい。
Atom 1.18.0 以降に標準で搭載されている。
(現在は 1.18.0 はまだリリースされていないので Atom Beta でのみ使用可能)
個人的にとても欲しい機能が一部含まれているので試しに使っているので、メモがてら。
わかっていないことが多いので、内容のご指摘やアドバイスなど積極的に求めております。
※ ひとまず Mac で確認したので、ショートカットは環境によっては参考にならない可能性があります
Tab
Atom's newest core package brings Git and GitHub integration right inside your editor!
とのことで、ウィンドウ右部に Git Tab と GitHub Tab が追加されている
Git Tab
Cmd+Shift+9
で開いたり閉じたりできる。
Unstaged Changes / Staged Changes
Unstaged/Staged なファイルの一覧が表示されている。
選択すると各ファイルの差分が表示される。
Commit
コミットメッセージの入力欄と Commit ボタンがある。
Commit ボタンの右には 1行目の残り文字数 が表示されている。
GitHub Tab
Cmd+Shift+8
で開いたり閉じたりできる。
GitHub へのログインを求められる。
現在のブランチと GitHub 上の p-r を紐づけることができる。
紐づけることで、その p-r の Conversation を Atom 上で閲覧することができる。
Command
各コマンドが git コマンドのどれに相当するかを書いておきます。
(git 関連の GUI でいつも知りたいのはこれなので)
GitHub: Push
$ git push origin {current_branch}
remote tracking branch がない場合、現在のブランチ名で新規に作成される。
GitHub: Pull
$ git pull origin {current_branch}
remote tracking branch がない場合は何も起きない。
GitHub: Clone
Clone from: hoge.git
To directory: /path/to/clone
$ git clone hoge.git /path/to/clone
GitHub: Fetch
$ git fetch origin {current_branch}
origin
以外から fetch したいときはどうすればいいんだろう?
GitHub: Commit
staged changes が1つのない、あるいは Commit message が空の場合
Commit message 入力欄にフォーカスする。
staged changes があり、 Commit message が入力されている場合
$ git commit
GitHub: Stage All
$ git add .
GitHub: Force Push
$ git push -f origin {current_branch}
GitHub: Unstage All
$ git reset
GitHub: Toggle Git Tab
上記 Git Tab を開いたり閉じたりする。
GitHub: Toggle GitHub Tab
上記 GitHub Tab を開いたり閉じたりする。
GitHub: Toggle Git Tab Focus
Git Tab にフォーカスする。
GitHub: Toggle GitHub Tab Focus
GitHub Tab にフォーカスする。
GitHub: Open Issue Or Pull Request
現在のブランチに紐づいている p-r のページを開いてくれる……のではなく、 Issue/p-r の URL の入力を求め、入力された URL のページを開いてくれる。
せめて、 Issue/p-r の番号だけでページを開いてほしい。
いちいち、 https://github.com/name/repos/issues/1
とか打つの面倒。
GitHub: Show Waterfall Diagnostics
GitHub for Atom が裏で行っている git の内部処理ひとつひとつにかかった時間を表示している様子。
(なんのための機能かは不明……)
GitHub: Undo Last Discard in Git Tab
何をする機能なのかよくわからない……。
(どなたか教えていただけると助かります )
雑感
調べたり使ったりしてみて思ったこととか。
行単位で stage/unstage できるのが便利
既存の様々なエディタで使えるであろうこの機能はやはり便利(Emacs の magit とか)。
Atom でも他にこれができるパッケージとかあるのかもしれない。少なくとも atomatigit という magit にインスパイアされたパッケージではできる(のだけど、このパッケージは重いのと magit とホットキーが違ったり機能が不足していたため、結局使わなくなった)。
ブランチに p-r を紐づけるのが面倒
GitHub Tab には現在のブランチに紐づく p-r が表示されていて、そこから p-r に対するコメントが表示できたりするのだけど、そのためには現在のブランチが紐づく p-r の URL を入力する必要があって、これが面倒。
自動で紐づける方法があれば便利だと思うけど……。
名前に /
が含まれるブランチはブランチリストに出てこなくてつらい
git 管理下のファイルを開いているとき、ウィンドウ右下に現在のブランチ名が表示されていて、クリックすることでブランチの選択(切り替え)ができるのだけど、この一覧に /
が含まれるブランチが表示されない(他にも同様の現象の対象となる記号があるかも)。(他のパッケージを使わずに) Atom 上でブランチを切り替える方法が他にないようなので結構不便。
バージョン 0.2.0 でローカルにあるブランチが全て選択できるようになってました。
Atom 上で Issue/p-r のページが見れるのは便利
なのだけど、コメントを追加できないので、結局ブラウザで開き直すことに。
ちなみに GitHub Tab の p-r 名の上の name/repos#1
の部分をクリックするとブラウザで開いてくれる。