euphonictechnologies’s diary

Haskell超初心者の日記です。OCamlが好きです。

follow us in feedly

会社で使うgitコマンドのまとめ

よく使うコマンドをまとめてみました。

作業を始める前によく使うコマンド

$ git co master

masterに移動します。今後masterはポリコレ的に改名されるらしいですが…。

$ git config --global alias.co checkout

でaliasを設定しておきましょう。

$ git pull

まずはpullしましょう。featureブランチにいてmasterでpullせずにindexだけoriginからのアップデートを受ける時は

$ git fetch

ですね。

$ git co -b <feature branch name>

から開発作業開始です。ブランチ名はたいていチケットの番号とかIDとかを使う会社がほとんどかと思います。

$ git co -

でcdと同様にさっきまでいたブランチに戻れます。

作業中によく使うもの

$ git st

でコミットステータスの確認をします。

$ git config --global alias.st status

してalias設定しておきましょう。

$ git stash

で作業仕掛けのまだコミットしていないファイルをとりあえず退避します。

$ git stash pop

でstashしたファイルを戻します。

$ git stash list

するとstashしたものの一覧が見られます。

作業がとりあえず終わったら

$ git diff

でコミット前に変更内容を確認します。

$ git add -u

すると一括でmodifiedされたファイルの変更をstageできます。

$ git add -p

で変更箇所を一つずつ確認しながら対話的にstageできます。

$ git diff --staged

で今からコミットする変更の最終確認をしましょう。stageされた変更のdiffが見られます。

コミットしてプッシュ

$ git ci -m "コミットメッセージ"

でコミットです。

$ git config --global alias.ci commit

でaliasを設定しておきましょう。

$ git ci --amend

で間違えたコミットメッセージを修正できます。

$ git rebase -i <コミットを集約するcommit idの1個前のcommit id>

リモートに自分の迷いとか作業途中のコミットを全部送るはやめましょう。綺麗なツリーが大事です。 このコマンドでどのコミットを残してどのコミットをsquashするかを選んで集約できます。指定するcommit idは大体originの指しているコミットかまだpushしたことがなければmasterのコミットになると思います。

$ git push origin <remote branch name>

綺麗なツリーになったら変更内容をリモートにpushします。これで作業はおしまいです。Pull RequestなりMerge Requestなりを上げてコードレビューを始めましょう。

コードレビュー中にmasterとconflictしちゃったら

$ git co master
$ git pull
$ git co -
$ git rebase master

してmasterをrebaseしましょう。rebase中にconflictを解消しながらbaseのmasterを前に進めていきます。

$ git push origin <remote branch name> --force-with-lease

でrebaseした内容をリモートにpushします。--force-with-leaseはpushする内容が新しい場合だけpushが効くようにするオプションです。古い内容でpushするのはほとんどの場合で間違いなので念のためにいつでもつけるようにしましょう。

他に便利なコマンド

alias.tree=log --graph --all --format="%x09%C(cyan bold)%an%Creset%x09%C(yellow)%h%Creset %C(magenta reverse)%d%Creset %s"

$ git tree

が使えます。便利です。こちらを参考にしました。

qiita.com

alias.delete-merged-branches=!git branch --merged | grep -v \* | xargs -I % git branch -d %

$ git delete-merged-branches

が使えます。マージ後にmasterに取り込まれたブランチをざっくり全部消すのに使えます。マージされていないものは消えませんので安心してください。こちらを参考にしました。

qiita.com

最低限これだけあれば普通に仕事できるはず

他にもたくさんの技があるのでネットで色々見てみるといいかと思います。

iPadでWinキーボードを使う

最近はiPadをメインに使う感じになりました。Google collabがあるのでiPadだけでも機械学習できますし、調べ物してYoutube見て天鳳して、書き物もiPadの日本語入力でそんなに悪くない感じです。 いつもは本体カバーにもなるSmart Keyboard Folioを使いますが、さすがに量打つときはきついです。そこで眠っていた古いRealforceを引っ張り出してきました。

東プレ REALFORCE 86U /静電容量無接点/変荷重/86キー/USB SE0500

東プレ REALFORCE 86U /静電容量無接点/変荷重/86キー/USB SE0500

  • 発売日: 2008/09/01
  • メディア: Personal Computers

ひさしぶりにRealforceを打ちますが、打鍵感が最高ですね。ただ、WinキーボードなのでCommandの位置に違和感が… iPadで修飾キーの入れ替えができるのでやってみました。こんな感じです。

f:id:euphonictechnologies:20200621135921p:plain
キーボード設定

これでスペースバーの隣のキーでCommandが打てます。やったね!

クラウドファウンディングで手に入れたコンパクトメカニカルキーボードTaptekを使ってみます

メカニカルキーボードをクラウドファンディングで手に入れました

www.makuake.com

このプロジェクトが大変スムーズに進行して(私の過去の経験比)、メカニカルキーボードが手に入りました。 メカニカルキーボードを使うのは初なので とても期待しています。

こんな感じです

f:id:euphonictechnologies:20190707113937j:plain
Tappei Overall

メインにはiPadと使うために買いましたのでiPadと一緒に写真をとってみました。

このプロダクトの私的な売りは

  • しっかりしたキーボードがとてもコンパクトな筐体に収まっている。キーは青軸がしっかり使われています
  • Bluetoothの無線接続。モバイルで使うのを考えていて必須です
  • ちゃんとしたMac対応。Macにしっかり対応したキーボードは意外と少ないのです

これら全てを満たすキーボードということで飛びつきました。

一番気になるレイアウトです

レイアウトをキーボードの上から撮影してみました。US配列です。

f:id:euphonictechnologies:20190707120547j:plain
Taptek top

このブログがこのキーボードで打った最初の長文ですが、気になったポイントは

  • エンターキーが少し幅狭目です。使った感じは特に問題ありません。
  • Fnが左下にあります。Mac標準ですね。コントロールキーがあると思い込んでいる私は最初押し間違えをしました。気になる人は気になるかもです。
  • この手のコンパクトキーボードにしては矢印キーが普通のキーと同じサイズです。押しやすいです。
  • Caps lockがAの隣にあります。いらねーですが、日本語英語の切り替えでiPadではわりと使いまくるのでそんなに悪くないかもです。
  • スペースバーは端を押してもよれたりしないです。大変良いです。
  • 画面の明るさや音量をコントロールできるキーがちゃんとiPadでも機能します。iPadで機能しないキーはMission Control関係の二つだけです。
  • 打鍵感は大変良いです。メカニカルスイッチ慣れてないせいだと思いますが、クリックより前に入力判定があるんでしょうか。私は非力なのでたまにクリックおんなしで入力されると少し違和感があります。
  • 打ちやすいキーボードです。入力の取りこぼしとかも特にないようです。(前段との絡みで押し込み足りなくて入力できていないことがたまーにあって打鍵する力のかけ方に自分の変な癖があるのがわかりました)

薄いです

f:id:euphonictechnologies:20190707115237j:plain
Taptek Side

薄いのですがキーの深さは結構しっかりしています。影になってみにくいかもしれませんが、青軸です。クリック感バリバリです。カチカチ音がしますが、意外にもうるさくないです。全く誰も喋らないオフィス以外では大丈夫かも。

f:id:euphonictechnologies:20190707115316j:plain
Taptek Side from top

スイッチ類はトップ側の側面にあります。真ん中の充電はUSB-C。左側のスイッチはBluetoothと有線接続を切り替えます。右側のスイッチはMacとWindowsの切り替えです。切り替えるとMacでいえばCommandとoptionが 入れ替わったみたいになります。

側面から厚さを物差しと一緒に計りました。

f:id:euphonictechnologies:20190707115918j:plain
Taptek side measure

f:id:euphonictechnologies:20190707120016j:plain
Taptek side top measure

土台が1.5cm、キーの部分が1cm未満、とかでしょうか。全部入れても3cmないわけで、大変持ち運びやすいです。

重さはまあまあ

f:id:euphonictechnologies:20190707120240j:plain
Taptek weight

Apple PencilとSmart Keyboard FolioがついたiPadが780グラムぐらいなので、キーボード自体もまあまあの重さがあります。コンパクトなので持った感じは結構ずっしりです。逆に言うとそのぐらいキーボードはコンパクトです。たしか大きい方のiPadと幅が一緒らしいですね。iPadとあわせるとMacBook Airぐらいの重さになるので持ち運びの感じは良好なのではないかと思います。MacBook Airと同じ重さでメカニカルの本格キーボードというとそそる人は多いのでは。

きらきらひかる

f:id:euphonictechnologies:20190707122259j:plain
Taptek Lighting

キーボードにLEDが入っていてすごい鮮やかに光ります。夜に暗いリビングで作業するときとかに便利です。レインボー以外にも青一色とか、押した行がフラッシュしたり押しが列がフラッシュしたり波紋のように広がるようにしたりいろんなエフェクトパターンがあります。

f:id:euphonictechnologies:20190707122607j:plain
Taptek Lighting button

このボタンを押してライティングモードを切り替えます。一昔前のMacキーボードの電源ボタンの位置ですね。これもメカニカルキーなのでボタン押した感じがはっきりあって大変良いです。わかりやすい。

他にも

  • 複数の機器に接続してFn+チルダで切り替えられます。一つのキーボードでMacとiPad両方同時に使うとかの用途に大変向いています
  • 裏面にはゴム製の足が生えていてしっかり机に吸いつきます。本体の型つきもなくしっかり打ち続けられます。裏面はこんな感じ
    f:id:euphonictechnologies:20190707114525j:plain
    Taptek back

iPadで使った際の細かいtips

このキーボード特有のことではなくてiPadとハードウェアキーボード全般の話です。

  • Smart Keyboard Folioと一緒には使えません。具体的にはSmart Keyboard Folio出したままだとなぜかCommand+tabでタブを切り替えるのとかCommand+Hでホーム画面に戻るのとかがなぜか使えません。それ以外はちゃんと入力できるのに。なので写真のようにSmart Keyboard Folioは折り畳んで無効にしないといけません。
  • Caps lockの言語切り替えはなぜかワンテンポ遅れます。Macみたいに日本語英語を切り替えながらサクサク打つことはできません。言語切り替え押してすぐに英単語入力すると英単語の最初の方が日本語入力のままだったりします。
  • なので、このブログは途中から英語に切り替えるのをやめて日本語のまま英単語を入力して変換に英単語をお任せしています。意外となんとかなります。
  • 日本語変換がたまーにワンテンポ遅れてスペース押してエンターするとスペースが変換でなくて普通の空白、エンターキーで変換しないで日本語変換しないまま平仮名で確定になってしまって こんなかんじになってしまうことがあります。これAppleなんとかなりませんかね。

総じて

大変満足度の高いキーボードです。メカニカルは耳心地良くてバリバリ入力していると大変気持ちがいいです。プロダクトとしてしっかり作り込まれていて必要にして十分です。本当に型つきが少なくて私は全く問題なくバリバリ打てています。

実は腱鞘炎持ちなので分離していないキーボードは少し辛いので、分離型をこれで作って欲しいなあ、と思うぐらいいいものです。

今から手に入れる方法は私では見つけられませんでした。公式サイト(https://taptek.vinpok.com/)にも終わってしまったクラウドファンディングへのリンクしかありません。 メルカリに出品があるようなのでそちらを見るのも手かもしれません。