カテゴリー: Tools

Gitの便利なコマンド

はじめに

こんにちは、nukkyです。
今回はgitを使う上で個人的に便利だと思うコマンドを紹介していきたいと思います。

cherry-pick

cherry-pickコマンドを使うと他ブランチの特定のコミットを取り込むことができます。

使い方

cherry-pick コミットIDでそのコミットを反映させることができます。

$ git checkout develop
$ git log

commit 546de2cc727fcae02646c6af637f401e4238feef
    いろいろ修正

$ git checkout hoge
$ git cherry-pick 546de2cc727fcae02646c6af637f401e4238feef

 

stash

stashを使用すると、コミットしていない変更を退避することができます。
stashで変更を退避させて、今すぐやりたい作業をして、退避させていた変更を戻して作業を再開することができます。

使い方

$ git stash save

コミットしていない変更がある状態で上記のコマンドを実行すると、変更した部分が退避されます。
コミットしていない変更とは、addしたものもaddしていないものもどちらも含まれます。
ブランチは変更が取り消されたきれいな状態となります。
※saveは省略可能

退避した作業の一覧を見る

以下のコマンドで退避した作業の一覧を見ることができます。

$ git stash list

// こんな感じで出力されます
stash@{0}: WIP on test: xxxx
stash@{1}: WIP on commit-sample: xxxx

stash@{X}がstashの名前で、WIP onのあとはブランチ名です。xxxxはstashをしたときのHEADのコミットハッシュとコミットメッセージになります。

退避した作業を戻す

// stash@{0}の作業をもとに戻します
$ git stash apply stash@{0}

stash apply stash名にて退避した作業を元に戻すことができます。
このとき、現在チェックアウトしているブランチへ退避した変更が書かれます。
変更を退避したときのブランチにも、それ以外のブランチにも戻すことができます。
また、stash名を指定しない場合は、直近に退避された作業を戻します。
上記のコマンドだと、addしていた変更もaddされていない状態で戻ります(stagedされていた変更もnot stagedととして戻る)。
addした状態そのままにもどしたいときは、上記のコマンドに–indexオプションを付けて実行します。

$ git stash apply stash@{0} --index

退避した作業を消す

stashを使用して退避した作業を元に戻しても、退避した作業はそのまま残ります。
stash listを行うとそのまま残っているはずです。
退避した作業を消すには、以下のコマンドを使用します。

// stash@{0}を削除します
$ git stash drop stash@{0}

退避した作業を元に戻すと同時に、stashのリストから消す

退避した作業を消すにはdropを使用する必要がありましたが、作業をもとに戻すと同時に消すこともできます。

// stash@{0}の作業をもとに戻すと同時に、退避作業の中から削除します
$ git stash pop stash@{0}

 

 

さいごに

個人的に便利だと思っているGitコマンドを紹介させていただきました。

nukky

シェア
執筆者:
nukky
タグ: Git

最近の投稿

フロントエンドで動画デコレーション&レンダリング

はじめに 今回は、以下のように…

2週間 前

Goのクエリビルダー goqu を使ってみる

はじめに 最近携わっているとあ…

4週間 前

【Xcode15】プライバシーマニフェスト対応に備えて

はじめに こんにちは、suzu…

2か月 前

FSMを使った状態管理をGoで実装する

はじめに 一般的なアプリケーシ…

3か月 前