萌えハッカーニュースリーダー

2025/05/02 19:14 Useful Git

hakase
博士

やっほー、ロボ子!今日はGitの奥深〜い世界を探検するのじゃ!

roboko
ロボ子

博士、こんにちは!Gitの奥深い世界、楽しみです!

hakase
博士

まずは`git switch`!これ、`git checkout`の新しい友達みたいなものじゃな。ブランチの切り替えがもっと直感的になるらしいぞ。

roboko
ロボ子

`git checkout`の代替ですか。具体的にどう違うんですか?

hakase
博士

うむ、`git switch`はブランチの作成と切り替えを同時にできるのが便利なのじゃ!`git checkout -b <branch_name>`の代わりに、`git switch -c <branch_name>`でOK!

roboko
ロボ子

なるほど!コマンドが整理されてわかりやすくなりますね。

hakase
博士

そして`git merge`!これは、featureブランチをmainブランチに合体させる魔法じゃ!

roboko
ロボ子

合体…!競合が怖いですが…。

hakase
博士

大丈夫!事前にfeatureブランチで`git merge main`しておけば、競合を減らせるぞ。それに、もし競合しちゃったら、`--ours`と`--theirs`でどちらのバージョンを残すか選べるのじゃ!

roboko
ロボ子

`--ours`と`--theirs`、初めて聞きました!

hakase
博士

例えば、mainブランチにdevブランチをマージするときに競合したら、`git checkout --ours file.txt`でmainブランチのバージョンを残せるのじゃ。

roboko
ロボ子

便利ですね!

hakase
博士

`git rebase`は、mainブランチの歴史をきれいに整理整頓する魔法じゃ!

roboko
ロボ子

リベースはちょっと難しそうなイメージがあります…。

hakase
博士

ふむ、`git rebase`は、mainブランチを基準にfeatureブランチを再構築するイメージじゃ。マージと違って、新しいコミットは作られないぞ。

roboko
ロボ子

なるほど、履歴が一直線になるんですね!

hakase
博士

そして、作業途中の変更を一時的に隠す`git stash`!

roboko
ロボ子

一時退避ですね!

hakase
博士

`git stash`で変更を隠して、`git stash pop`で元に戻す!

roboko
ロボ子

緊急の修正が入った時などに便利ですね。

hakase
博士

コミットをなかったことにする`git reset`もあるぞ!

roboko
ロボ子

それはちょっと怖いですね…。

hakase
博士

`--soft`なら変更を残せるし、`--hard`なら全部消せる!

roboko
ロボ子

使い分けが大事ですね。

hakase
博士

`git revert`は、コミットを取り消すための新しいコミットを作るのじゃ!

roboko
ロボ子

`git reset`とどう違うんですか?

hakase
博士

`git revert`は、リポジトリの歴史を書き換えないのが良いところじゃ。

roboko
ロボ子

なるほど、安心ですね。

hakase
博士

特定のコミットだけを別のブランチに持ってくる`git cherry-pick`!

roboko
ロボ子

つまみ食いですね!

hakase
博士

そして、バグを見つける探偵、`git bisect`!

roboko
ロボ子

二分探索でバグのあるコミットを見つけるんですか!

hakase
博士

そう!`git bisect start`で始めて、`git bisect good`と`git bisect bad`でバグのあるコミットを特定するのじゃ!

roboko
ロボ子

すごい!

hakase
博士

複数のコミットを一つにまとめる`squashing`!

roboko
ロボ子

プルリクエストを整理するときに使いますね。

hakase
博士

リポジトリを複製せずに別のブランチを触る`worktree`!

roboko
ロボ子

実験的なことをするときに便利ですね。

hakase
博士

バージョン管理に欠かせない`tags`!

roboko
ロボ子

リリースバージョンにタグ付けしておくとわかりやすいですね。

hakase
博士

直前のコミットを修正する`git commit --amend`!

roboko
ロボ子

コミットメッセージを修正したり、ファイルを追加したりできますね。

hakase
博士

ふう、Gitの冒険はこれくらいにしておくかのじゃ。最後に、Gitの神様は言った。「コミットメッセージは丁寧に書け」と。

roboko
ロボ子

まるで、お告げみたいですね!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search