JetBrains IDE を一部使いつつ最近の自分の Git 周りの操作。3ステップ。

最近の自分が、どんな風に Git を使ってるか、メモを残しておこうかなと思ったので書くことにした。こういうの、以前に書いたかもしれない?と思ったらあった↓

bufferings.hatenablog.com

この頃はコマンドだけ使って操作してたけど、最近は JetBrains の IDE から一部操作するようになったのだ!便利!

エイリアス

話に入る前に、使ってるエイリアスを紹介。自分で考えるの苦手なのでこの設定ファイルをコピーしてきて使ってる↓

https://github.com/timcharper/git_osx_installer/blob/master/assets/etc/gitconfig.default#L23-L41

とは言いつつ、最近おもに使ってるのは git l くらいかな

l = log --graph --all --pretty=format:'%C(yellow)%h%C(cyan)%d%Creset %s %C(white)- %an, %ar%Creset'

ステップ1:クローン→ブランチ作成

クローンからブランチ作成周りは、相変わらずコマンドでやってる。以前と違うのは checkout じゃなくて switch を使うようになったことかな。せっかくなので前回の記事と同じリポジトリを使ってみる

クローンしてきたらグラフを git l で表示

ラッキングブランチが苦手なので、一旦、ターゲットのリモートブランチに git switch -d で移動してしまう

❯ git switch -d origin/ch03
HEAD is now at 741d278 fix encoding

そうすると↓こんな感じで、ブランチを作らずに HEAD がそのコミットに移動するので

そこでブランチを git switch -c で作ってる

❯ git switch -c BUF-001/for-blog
Switched to a new branch 'BUF-001/for-blog'

以前は work みたいに適当な名前でローカルブランチを作ってたけど、今は JetBrains IDE を利用するようになったこともあって、リモートで使う予定の チケット番号/概要 みたいなブランチ名をローカルでも使うことが多い

そんな感じで git switch -c すると、HEADBUF-001/for-blog になる

ステップ2:変更→コミット

コミット周りは JetBrains の IDE から操作してる。IDEA と WebStorm を使ってる

Commit タブから、変更一覧を見ることができるので、そこで差分をチェックして

コミットに含めたいファイルにチェックを入れて(複数可)、コミットメッセージを書いて、Commit ボタンを押す

前回のコミットにマージしてしまいたい場合は、Amend のチェックボックスにチェックをいれて Commit ボタンを押すと Amend になる

ステップ3:プッシュ

IDE からもできるんだけど、なんとなくプッシュ周りはコマンドラインでやってる。git l で確認して

git push する

❯ git push origin BUF-001/for-blog
Enumerating objects: 13, done.

以上!

コミット周りを JetBrains の IDE でやるようになったので、だいぶシンプルになったかな。commit add status diff を使う機会が減った

まぁ IDE を使ってないものは、今まで通りコマンドで操作してるんだけども

もうちょっと JetBrains IDE の Git 周りを有効活用しても良いような気もしてるけど、今のところ、これくらいで満足してる

おまけ:他によく使う Git のコマンド

git fetch -p でリモートの更新を取得

  • ラッキングブランチや git pull が苦手なので、いつも git fetch -p

git rebase でブランチの移動

  • main ブランチが更新されたときに、たまに作業ブランチを付け替えたりする

git rebase -i でコミットの操作

  • コミットをまとめたり、コメントを書き換えたりするのに使う

git branch -m でローカルブランチのリネーム

  • プルリクエストがマージされてローカルブランチがいらなくなったら、別のチケット用にリネームして使ったりする

git branch -d でローカルブランチの削除

  • いらなくなったローカルブランチの削除ちょこちょこする。-D で強制削除したりもする

git reset で変更のやり直し

  • 例えば git reset HEAD~1 で、今いるコミットの変更を未コミット状態にして、変更をやり直したりする

git reset --hard HEAD git clean -df で変更を削除

  • 記録に残らなくていいものはこれで削除。コミットせずに git reset --hard すると元に戻せないので気をつけないと悲しいことになる。後で見たいかも?と思う場合はとりあえずコミットするようにしてる

git stash git stash --pop で一時的に退避

  • 作業中の変更を一旦横に置いておきたいときに使う

あれ?最近 git merge 使ってないなぁ。あんまり変更がかぶらないからかな。update-ref も全然使わないや。cherry-pick は、たまーに使うかなぁ

よく使うわけじゃないけど、覚えてるのが git reflog 。コミットさえしてれば、何かあったときに git reflog で元に戻せる!

また Git のドキュメントでも眺めて、自分が使いそうなコマンドを探してみよっと

僕の推し Git コマンド

やっぱり git switch かな!よかったらあなたの推し Git コマンドを教えて下さい!