はじめに
この実験では、Git リポジトリに一時保存(stash)された変更があるかどうかを確認する方法を学びます。既存の一時保存内容を表示するために git stash list
コマンドを調べ、作業ディレクトリの状態を確認するために git status
を使用します。
以下の手順に従うことで、git stash
を使用して一時的に保存した変更があるかどうかを識別し、一時保存内容や未コミットの変更がない場合に作業ツリーがクリーンであることを確認する方法を理解できます。
💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください
この実験では、Git リポジトリに一時保存(stash)された変更があるかどうかを確認する方法を学びます。既存の一時保存内容を表示するために git stash list
コマンドを調べ、作業ディレクトリの状態を確認するために git status
を使用します。
以下の手順に従うことで、git stash
を使用して一時的に保存した変更があるかどうかを識別し、一時保存内容や未コミットの変更がない場合に作業ツリーがクリーンであることを確認する方法を理解できます。
git stash list
を実行して確認するこのステップでは、git stash
について学びます。あなたがある機能の開発に取り組んでいるとき、突然別のタスクに切り替える必要が出たり、バグを修正する必要が生じたと想像してみてください。現在の作業はまだコミットする段階ではないけれども、作業内容を失いたくないという状況があります。このようなときに git stash
が便利なのです!
git stash
は、未コミットの変更(ステージング済みと未ステージングの両方)を一時的に保存し、作業ディレクトリを HEAD
コミットと一致する状態に戻します。現在の作業を安全な場所に片付けて、別の作業に取り組み、後で戻ってくることができるようになります。
まずは、一時保存(stash)された変更があるかどうかを確認しましょう。ターミナルで、~/project/my-time-machine
ディレクトリにいることを確認し、以下のコマンドを実行します。
cd ~/project/my-time-machine
git stash list
このリポジトリで git stash
を初めて使用する可能性が高いため、出力は空になるか、一時保存内容が見つからない旨のメッセージが表示されるはずです。これは、現在のリポジトリに保存された一時保存内容がないことを意味します。
## 一時保存内容が存在しない場合、出力がないか、次のようなメッセージが表示されることがあります。
## No stashed changes found.
git stash list
を理解することは、一時保存された変更を管理する最初のステップです。保存されている一時保存内容を確認できるため、これらを適用したり削除したりする前に重要です。
git status
で確認する前のステップでは、git stash list
を使用して既存の一時保存内容(stash)を確認しました。次に、git status
を使用して作業ディレクトリの現在の状態を確認しましょう。このコマンドは、どのような変更があり、それらが Git によって追跡されているかを理解するために不可欠です。
まだ ~/project/my-time-machine
ディレクトリにいることを確認してください。以下のコマンドを実行します。
git status
前の実験で最後のコミット以降に変更を加えていないため、出力は作業ツリーがクリーンであることを示すはずです。
On branch master
nothing to commit, working tree clean
この出力は、リポジトリに未コミットの変更がないことを確認します。作業ディレクトリは master
ブランチの最新のコミットと一致しています。これは、コミットを作成した後、または一時保存内容を適用してコンフリクトを解決した後に期待される状態です。
git status
の出力を理解することは、Git のワークフローを管理する上で重要です。これにより、どのファイルが変更され、次のコミットのためにステージングされているか、または追跡されていないかを知ることができます。
前のステップで、リポジトリがクリーンで既存の一時保存内容(stash)がないことを確認しました。これは、git stash
を試すのに最適な状態です。
git stash
の動作を示すために、まずリポジトリにいくつかの変更を加える必要があります。前の実験で作成した message.txt
ファイルを変更しましょう。
~/project/my-time-machine
ディレクトリにいることを確認してください。nano
エディタを使用して message.txt
ファイルを開きます。
nano message.txt
ファイルに新しい行を追加します。例えば:
Hello, Future Me
This is a new line.
Ctrl + S
を押してファイルを保存し、Ctrl + X
を押して nano
を終了します。
次に、再度リポジトリの状態を確認しましょう。
git status
message.txt
が変更されたことを示す出力が表示されるはずです。
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: message.txt
no changes added to commit (use "git add" and/or "git commit -a")
この出力は、message.txt
に変更を加えたが、これらの変更はまだコミットのためにステージングされていないことを示しています。これは git stash
を使用するのに最適なシナリオです。次のステップでは、git stash
を使用してこれらの変更を一時的に保存します。
この実験では、Git リポジトリ内の一時保存内容(stash)を確認する方法を学びました。まず、git stash list
コマンドを使用して、現在保存されている一時保存内容があるかどうかを確認しました。出力が空であるか、一時保存内容がないことを示すメッセージが表示される場合は、git stash
を使用して一時的に保存された変更がないことが確認できます。
次に、git status
を使用して作業ディレクトリの状態を確認しました。git status
の出力が示すように、作業ツリーがクリーンであれば、リポジトリに未コミットの変更がないことが確認できます。これら 2 つのコマンドは、Git リポジトリの現在の状態を理解し、一時保存内容を管理するために基本的なものです。