【学習記録】初心者が戸惑うGitコマンドを、ポケモンに例えて考えてみた

甘党エンジニアのkanjiです。

最終課題も中盤に入り、Gitを使う機会が増えてきた。

使い始めの頃は中々慣れず、masterに切り替えただけで(あれ、今までのコードか消えた?!)とパニックを起こしていたが、ようやくその便利さに気付いてきた。

今回はそんなGitコマンドについて、身近にあるポケモンに例えて書いた。
全てターミナル上でのコマンドである。


①ブランチ一覧を確認したい

git branch

ポケモンで言うところの「手持ちのポケモンを見る」に当たる。
リストを見るとその中の1つに「*」のついた緑のブランチがある。
これは現在自分がいるブランチ、つまり最初に戦うことになるポケモンだ。

MEMO
補足「git branch」の後ろに-aを付け「git branch -a」とすることで、リモートブランチも一緒に確認することができる。リモートブランチは赤文字で表示される。

②新しいブランチを作成したい

 

git branch 新しいブランチ名

主にマスターにマージした後で使うことが多い。
新しいポケモンになるのでニックネームを付けよう。(何文字でもOK)


③ブランチを切り替えたい

 

git checkout ブランチ名

作業ブランチを別のブランチを切り替えたい時に使用。
ギャラドス(水/ひこう)が出てきたのでサンダース(かみなり)に変えたい時に使う。


④(ローカル)ブランチを削除したい

git branch -d (削除する)ブランチ名

必要のなくなったブランチを削除できる。
マージが済んでいないコミットがあるブランチの場合は、「-d」を「-D」の大文字にすることで削除可能。

ポケモンのように手持ち制限はないが、必要のなくなったブランチは整理しておきたい。


⑤(リモート)ブランチを削除したい

git push –delete origin 削除するブランチ名

ローカルとは少しコマンドが異なる。
自分の手元(ローカル)になくとも、わざわざポケモンセンターに行かず削除できる。


⑥ブランチ名を変更したい

git branch -m 新しいブランチ名

名前は好きなタイミングで変えることができる。


⑦ファイルの変更部分を保存したい

 

git add .

git commit -m ‘コミットメッセージ’

LVをあげたポケモン達は、これでレポートしよう。
その後「git log」を打つと、コミット出来ているか確認できる。

「あれ、コミットできないぞ?」という時は「git add」出来ていないことが多い。
「git add」は、コミットする内容を置いておくための「ステージングエリア」に対象ファイルを追加することであり、セーブしたい内容をセープポイントに持っていくことを言う。

MEMO
「git commit –amend」で直前のコミットメッセージの変更も可能。

⑧直前のコミットを取り消したい

git reset –soft HEAD^

トランセルをバタフリーにしてしまった(commit済み)。
でもやっぱり俺はトランセルで全国制覇したいんだ..!

そんな時には「git reset」でコミットを取り消せそう。


⑨特定のコミットを削除したい

git revert [打ち消したいコミットID]

トランセルではムリだ。
捕まえなかったことにしよう。

そんな時は「git revert」で指定したコミットを打ち消すことができる。

MEMO
コミットIDは「git log」で調べることができる。
MEMO
直前のコミットなら「git revert HEAD」で削除できる。

⑩リモートブランチを自分のローカルに持ってきたい

git checkout – b ローカルに作成するブランチ名(なんでもOK) origin / リモートに存在するブランチ名

イメージとしては、GitHub上のリモートリポジトリにあるブランチ(ポケモンセンターにいるポケモン)を、その場に置いたまま自分の手元に持ってくるコマンド。

Githubは複数人で共有できるので、他人のポケモンを勝手に拝借できる。


①①コミットしていない変更を退避したい

git stash save

ブランチを切り替える時など、作業中ブランチをコミットせず作業内容を一時避難させるコマンド。
1時間だけドラクエしたい..
でもレポートはしたくない..
でも消したくもない..そんなワガママさんな気分を解決してくれる。

MEMO
確認する時は 「git stash list」退避リストを表示できる。

①②退避した作業を戻したい

git stash apply stash@{0}

退避した作業を戻す時に使用。stash@{ }の数字の中身は、 「git stash list」で確認できる。
※0は直前の数字。


①③他ブランチの一部のコミットを取り込みたい

 

git cherry-pick コミットID

特定のコミットだけ欲しい、そんな時に使用する。

イメージとしては、他人が作業したポケモン(ブランチ)の中から、その人が捕まえた特定のポケモン1匹だけ(美味しい部分だけ)拝借したい時に使用。

実際のポケモンではそんなことは出来ないが、Gitなら可能である。


Gitにはまだまだ沢山のコマンドと、様々な場面での使用用途がある。

身近にあるポケモンに例えて考えるとイメージしやすかったので、今後も学んだことがあれば追記しGitマスターを目指したい。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です