「git」におけるステージングされた変更の確認方法
**「git」**において、ステージングされた変更を確認するには、以下のコマンドを使用します。
git status
コマンド
git status
git diff --staged
コマンド
このコマンドは、ステージングされた変更と、最後のコミットとの差分を表示します。具体的にどのような変更がステージングされているのかを確認できます。
git diff --staged
git diff --staged
と同じ機能を提供します。
git diff --cached
例:
# ステージングされたファイルを確認する
git status
# ステージングされた変更の詳細を確認する
git diff --staged
- ステージングとは、コミットする前に変更を一時的に保存する操作です。
- **「diff」**は、ファイル間の差分を表示するコマンドです。
- **「DVCS」**は、分散型バージョン管理システムの略です。
Gitでステージングされた変更を確認する例
git statusコマンドの実行例
git status
このコマンドを実行すると、以下のような出力が得られます。
On branch main
Your branch is up-to-date with 'origin/main'.
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
modified: README.md
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified : index.js
出力の解説:
- On branch main: 現在mainブランチにいることを示します。
- Changes to be committed: ステージングされている変更の一覧です。この例では、
README.md
が変更されています。 - Changes not staged for commit: ステージングされていない変更の一覧です。この例では、
index.js
が変更されています。
git diff --staged
このコマンドを実行すると、ステージングされた変更の詳細な差分が表示されます。
diff --git a/README.md b/README.md
index 1234567..abcdefg 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,4 @@
# プロジェクトの説明
このプロジェクトは、...
+新しい機能を追加しました。
diff --git a/README.md b/README.md
:README.md
ファイルの差分を表示していることを示します。@@ -1,3 +1,4 @@
: どの行が変更されたかを示す行番号です。+新しい機能を追加しました。
: 追加された行です。
ステージングされた変更をコミットする
git commit -m "README.mdとindex.jsの変更をコミット"
このコマンドで、ステージングされた変更をコミットします。
git diff --staged
コマンドは、ステージングされた変更の詳細な差分を確認できます。- ステージングされた変更をコミットするには、
git commit
コマンドを使用します。
git add <file>
コマンドで、変更をステージングします。git reset HEAD <file>
コマンドで、ステージングを解除します。git checkout -- <file>
コマンドで、作業ディレクトリの変更を破棄します。
具体的な例:
index.js
を編集し、git add index.js
でステージングします。git status
で変更を確認します。git diff --staged
でindex.js
の具体的な変更を確認します。git commit -m "index.jsの機能追加"
で変更をコミットします。
GUIツールを利用する
- Visual Studio Code:
- Git拡張機能を使用することで、ソースコードの行ごとに変更箇所が視覚的に表示されます。
- ステージングやコミットもGUI上で簡単に行えます。
- GitHub Desktop:
- シンプルなインターフェースで、変更履歴やブランチの管理が直感的に行えます。
- ステージングやコミットの操作もGUI上で可能です。
- Sourcetree:
- 強力な機能を備えたGitクライアントです。
- 視覚的な差分表示や、複数のリポジトリの管理などが可能です。
git log -p
:- コミット履歴と、各コミットでの変更内容を表示します。
-p
オプションで、変更の詳細なパッチ形式を表示できます。
git show <commit-hash>
:- 特定のコミットの内容を表示します。
- コミットに含まれる変更内容を確認できます。
.gitignoreファイルの活用
.gitignore
ファイルに無視したいファイルやディレクトリを記述することで、不要なファイルがステージングされるのを防ぎます。- これにより、
git status
コマンドの出力をよりシンプルにすることができます。
どの方法を選ぶべきかは、以下の要素によって異なります。
- 作業スタイル: コマンドラインを好むか、GUIツールを好むか
- チームのルール: チーム内で統一されたツールや方法があるか
- プロジェクトの規模: 小規模なプロジェクトか、大規模なプロジェクトか
状況に応じて適切な方法を選択し、効率的にGitを活用しましょう。
- 細かい変更箇所を確認したい場合:
git diff --staged
コマンドや、Visual Studio CodeのGit拡張機能が便利です。 - コミット履歴を詳しく調べたい場合:
git log -p
コマンドが有効です。 - 特定のコミットの内容を確認したい場合:
git show <commit-hash>
コマンドを使用します。 - 不要なファイルをステージングから除外したい場合:
.gitignore
ファイルを作成します。
- 上記以外にも、Gitには多くの機能があります。
git diff dvcs