git stashを使いこなす!作業を一時的に保存して開発をスムーズに進める方法

はじめに

Web制作に携わるエンジニアの皆様、こんにちは。日々の開発業務、お疲れ様です。バージョン管理システムとして、Gitはもはや無くてはならない存在ですよね。

今回は、そんなGitの中でも特に便利な機能、「git stash」についてご紹介します。git stashは、作業中の変更を一時的に保存しておき、必要な時に取り出せるコマンドです。

「ブランチを切り替えたいけど、作業中の変更はコミットしたくない」、「ちょっと確認したいことがあるけど、今の作業が邪魔」といった場面に遭遇したことはありませんか?

git stashは、まさにそのような状況で力を発揮する、開発効率を向上させるための強力なツールです。

git stashとは?

git stashは、一言で言えば「作業中の変更を一時的に保存しておくための機能」です。

コミットせずに作業中の変更を退避させておきたい場合に役立ちます。例えば、以下のようなケースでgit stashは力を発揮します。

  • 別のブランチに切り替えたいが、作業中の変更はコミットしたくない場合
  • 作業中の変更を一時的に退避して、クリーンな状態に戻したい場合
  • 別の作業をした後に、退避した変更を復元したい場合

git stashを使うことで、上記のような場面でも柔軟かつ効率的に作業を進めることができます。

git stashの基本的な使い方

ここでは、git stashの基本的な使い方を3つのステップに分けて解説します。

  1. 変更を一時保存する

    作業中の変更を一時的に保存するには、以下のコマンドを実行します。

    git stash
    

    このコマンドを実行すると、作業ディレクトリとステージングエリアの変更が退避され、作業ディレクトリは最後にコミットした状態に戻ります。

  2. 保存した変更の一覧を確認する

    保存した変更の一覧は、以下のコマンドで確認できます。

    git stash list
    

    このコマンドを実行すると、保存されているstashの一覧が表示されます。stashは、作成された日時順に番号が割り振られています。

  3. 保存した変更を復元する

    保存した変更を復元するには、以下のコマンドを実行します。

    git stash pop
    

    このコマンドを実行すると、最新のstashが適用され、stash一覧から削除されます。番号を指定してstashを適用する場合は、git stash pop stash@{番号}のように実行します。

git stashの活用方法

git stashは、基本的な使い方に加えて、様々な活用方法があります。

  • 特定のファイルをstashする

    git stash pushコマンドに-pオプションを付けることで、特定のファイルだけをstashできます。インタラクティブにstashするファイルを選択できるので、必要なファイルだけを退避できます。

  • stashに名前を付けて管理する

    git stash save "メッセージ"のように、stashにメッセージを付けることができます。複数のstashを管理しやすくなるので、用途別にstashを使い分けたい場合に便利です。

  • stashを削除する

    git stash dropコマンドで、stashを削除できます。番号を指定して削除する場合は、git stash drop stash@{番号}のように実行します。

git stashを使う上での注意点

git stashは便利な反面、いくつか注意点があります。

  • stashした内容はあくまで一時的なもの

    stashした内容は、あくまで一時的なものとして扱われます。stashしたままの状態を長時間放置することは避け、必要なタイミングでstashを適用するか、削除するようにしましょう。

  • コンフリクトが発生する可能性

    stashを適用する際に、現在の作業内容との間でコンフリクトが発生する可能性があります。コンフリクトが発生した場合は、適切に解消する必要があります。

まとめ

今回は、git stashの基本的な使い方から、活用方法、注意点まで詳しく解説しました。

git stashを使いこなすことで、作業中の変更を柔軟に管理できるようになり、開発効率を向上させることができます。

ぜひ、今回の内容を参考に、git stashを活用してみてください。

関連記事