Git 状況別コマンドファインダー — 無料オンラインツール
状況に応じた正確なGitコマンドを検索。シナリオをクリックすると、コマンドの説明と安全性に関する警告が表示されます。
Git 状況別コマンドリファレンス
Gitは強力ですが、特にあまり使わない操作ではコマンド構文を覚えにくいものです。このツールは、実際のGitの状況を正確なコマンドに対応させ、分かりやすい説明と、元に戻せない操作への警告を提供します。
破壊的な操作と安全な操作
一部のGit操作は安全で可逆的です(コミット、ブランチ、Stash)。一方、不注意に使用すると履歴を永続的に変更したりデータを失う可能性のある操作もあります:
- 安全: git stash, git branch, git checkout, git merge, git commit
- 注意が必要: git reset --hard, git push --force, git rebase(履歴を書き換え), git clean -fd
- 共有ブランチでは絶対にやらないこと: main/masterへのフォースプッシュ、公開コミットのrebase
Gitベストプラクティス
- 変更を加える前に必ずブランチを作成する — mainで直接作業しない
- 明確で分かりやすいメッセージで頻繁にコミットする
- コミット前に
git statusとgit diffを確認する - 共有ブランチでは
git reset --hardよりもgit revertを使用する - 作業中の変更を一時保存するには
git stashを使用する
Gitに関するよくある質問
最後のGitコミットを変更を失わずに取り消すには?
git reset --soft HEAD~1 を使用すると、最後のコミットを取り消しつつすべての変更をステージングされた状態で保持できます。git reset HEAD~1(mixedモード、デフォルト)を使用すると、コミットを取り消してステージングも解除しますが、作業ディレクトリには変更が残ります。git reset --hard HEAD~1 はすべての変更を完全に破棄します。一度実行すると元に戻せません。
ローカルとリモートのブランチを削除するには?
ローカルブランチの削除には git branch -d ブランチ名(安全、マージ済みが条件)または git branch -D ブランチ名(強制削除)を使用します。リモートブランチの削除には git push origin --delete ブランチ名 を使用します。古いリモート追跡参照のクリーンアップには git fetch --prune または git remote prune origin を実行します。
git mergeとgit rebaseの違いは?
git merge は2つのブランチを結合する新しいマージコミットを作成し、完全な履歴を保持します。git rebase はコミットを別のブランチの上にリプレイし、よりクリーンな直線的な履歴を生成します。公開・共有ブランチにはmergeを使用してください — 安全で非破壊的です。rebaseはマージ前のローカルフィーチャーブランチにのみ使用します。共有リモートにプッシュ済みのコミットを絶対にrebaseしないでください — 履歴が書き換わり、他の貢献者が分岐した履歴を調整する必要が発生します。
最後のコミットで何が変わったか確認するには?
git show を使用すると、最新のコミットのdiff(コミットメッセージ、作成者、日付、完全なパッチを含む)を確認できます。完全なdiffなしのサマリーには git show --stat を使用します。2つの特定のコミットを比較するには git diff commit1 commit2 を使用します。特定のファイルの履歴を見るには git log --follow -p -- ファイル名 を使用します。
関連する開発者ツール
- SemVerカリキュレーター — セマンティックバージョンのバンプを計算し、npmバージョン範囲を検証
- Docker Composeジェネレーター — ネットワーク、ボリューム、環境変数付きのdocker-compose.ymlを生成
- .ENVファイルインスペクター — 公開されたシークレットを検出し、安全な.env.exampleファイルを生成
- Regexテスター&エクスプレイナー — ライブハイライトと説明付きでRegexパターンをテスト
- すべての無料開発者ツールを見る