Hi, I'm Yu Hamada. I love learning web programming, so I'd like to share what I've learned here.

Git のコミット履歴を大胆に書き換えるなら git rebase -i がオススメ

2018.08.23

Git の超強力なコマンドと言っていい, git rebase -i を使うと, コミット履歴をこれでもかと言うくらい自由自在に書き換える事ができてしまいます.


Git の 3-way マージで共通祖先が 2 つの場合, 共通祖先はどんな感じになるのか調べてみた

2018.08.22

マージされる 2 つのブランチの共通祖先が 2 つの場合, マージコンフリクトが発生した場合の共通祖先はどんな感じになるのか, サクッとはいかなかったのですが, それなりに調べてみました.


Git の difftool と mergetool コマンドが Neovim を使うように設定してみた

2018.08.21

Git の difftool と mergetool は -t オプションで vimdiff を指定すれば Vim の vimdiff を使ってくれますが, Vim ではなく Neovim を使ってくれるようにコマンドラインを設定してみました.


Git の mergetool で vimdiff を指定して Vim でマージコンフリクトを解決してみた

2018.08.20

マージコンフリクトを解決する時に, git mergetool でいくつかあるうちの中かから一つのツールを指定することができますが, 今回は vimdiff を指定してみました. そしたらとても便利でした. Vimmer の方必見でござるよ.


Git の merge.conflictStyle を merge から diff3 に変更したら, マージコンフリクトがより解決しやすくなった

2018.08.19

Git でマージしてマージコンフリクトが発生した場合, 発生箇所に <<<<<<<, =======,>>>>>>> といったマーカが表示されますが, その 3 つのマーカに加えて ||||||| という新たなマーカを表示させたら, マージコンフリクトがより解決しやすくなったので, そのことをシェアさせていただきます.


Git で再帰的ストラテジでマージする時のストラテジオプション ours と theirs の違い

2018.08.18

2 つのブランチをマージする時にデフォルトで実行されるストラテジ, recursive (再帰的). その recursive で指定できる少しややこしい次の 2 つのオプション ours と theirs の違いをできるだけわかりやすく解説します.


前のブランチをチェックアウトするのに git checkout の引数としてダッシュを使えるよ

2018.08.18

git checkout コマンドの引数としてダッシュを使うと, 現在のブランチをチェックアウトする前のブランチをチェックアウトして戻ることができます.


git merge オプションの --ff, --no-ff, --ff-only の違い

2018.08.15

Git コマンド git merge で使われる次の 3 つのオプション --ff, --no-ff, --ff-only の違いを図付きで, できるだけわかりやすく解説します.


Git のファストフォワードマージとは

2018.08.15

Git で他のブランチを現在のブランチにマージさせる時に発生しうるファストフォワードマージとはどのようなものなのか, どのような時に起こるのか起こらないのか紹介します.


git rebase でヒストリを直線的にする方法と使う時の注意点

2018.08.13

Git の強力なコマンド rebase を使ってヒストリを直線的にして見やすくする方法と, そのコマンドを使うときに知っておきたい, 知らないと他のコントリビュータの人たちから一斉に非難を浴びてしまう可能性がある注意点を紹介します.