IT技術にまつわる実験ノート

「長編を書くより、短編を数多く完成させてください。それが上達への近道です」 by 手塚治虫

atom で git を操作してみる

atom のバージョン

f:id:matt-note:20181021223530p:plain

 

git のパネルを開く

Ctrl + Shift + 9 で git のパネルを開くことができる。パネルは、エディタの右側に表示される。9 が git の g っぽい、と覚えておくと、覚えやすい気がする。パネルを閉じる時も Ctrl + Shift + 9 を使う。とにかく、このショートカットで git パネルの開閉ができる。

パネルを開くと、以下のようになる。右上の「Stage All」ボタンを押すと、$ git add . できる。

f:id:matt-note:20181021223932p:plain

 

diff

この時、パネルでファイル名をクリックすると、エディタで diff(差分)を見ることができる。diff を見る場合は、ターミナルよりも、エディタの方が見やすい。また、 diff だと、自分で書いたコードを客観的に読むのに役立つ。

f:id:matt-note:20181022122027p:plain

 

コミットする

「Stage All」ボタンを押すと、以下のようになる。コミットする場合は、入力欄にコミットメッセージを入力して、「Commit to <branch_name>」ボタンを押すと、コミットできる。以下の場合のコミットメッセージは hoge。なお、Stage All をやり直す場合は、「Unstage All」ボタンを押せば、元に戻せる。

f:id:matt-note:20181021224122p:plain

コミットが追加された。

f:id:matt-note:20181021224619p:plain

 

Amend してみる

Amend のチェックボタンを押すと以下のようになる。

f:id:matt-note:20181021224818p:plain

 

コミットメッセージを hoge hoge hoge にして、「Amend commit」をクリックする。

f:id:matt-note:20181021225146p:plain

コミットメッセージを変更できた。

 

なお、git パネルの開閉は、エディタ右下の * files となっているところをクリックすることでも開閉できる。

f:id:matt-note:20181021225306p:plain

ファイルを1つ変更して保存すると、このボタンは「変更したファイルは 1 file ですよ」、と単数形で表示される。英語の文法では、数が 0 だと複数形を使うが、数が1つの場合は単数形を使う。

f:id:matt-note:20181021230611p:plain

 

ブランチを使ってみる

右下の <branch_name>部分を押すと、ブランチについて操作できる。ここでは、my-08-dry-specs がブランチ名。右下のブランチ名をチェックしておくと、ついうっかり master ブランチで作業してしまうミスを防止できるはず。

以下のようにすると、$ git checkout -b hoge を実行する。新しいブランチを作成して、チェックアウトもしてくれる。

f:id:matt-note:20181021231514p:plain

 

上記のようにして、「New Branch」ボタンを押すと、以下のようにブランチ名が hoge で表示される。また、ブランチ名をクリックすると、ブランチ一覧が表示される。移動したいブランチ名をクリックすれば、そのブランチにチェックアウトできる。

とにかく、ワーキングディレクトリに変更点がない = 右下が 0 files となっている場合は、問題なくブランチを移動できる。

f:id:matt-note:20181021231539p:plain

 

元の my-08-dry-specs ブランチに戻せた。

f:id:matt-note:20181021232554p:plain

 

ブランチを削除する場合は、コマンドラインから削除することになる気がする。何も操作していない hoge ブランチを削除する場合は、-d オプションでも良いはず。

f:id:matt-note:20181021233603p:plain

 

pull, push

右下の矢印ボタンを押すと、Pull, Push, Fetch について操作できるとのこと。この点は、GitHub 側でも設定が必要になる。私の場合は、なんだかうまくいかなかった。リモートリポジトリの操作は、ターミナルでやるのが良いかも。なお、矢印の隣の数字は、コミット数を表している。

f:id:matt-note:20181021232747p:plain

 

リモートリポジトリと連携できなかったのは、GitHub 側の影響があったのかも…?

 

後日、やり直したところ、無事プルリクできて master ブランチにマージできた。こんなこともあるんだなと。