Gitコマンドジェネレーター
どんなエンジニアも「最後のコミットを取り消す方法」を少なくとも2回はGoogleで検索したことがあるはずです。reset --soft、reset --mixed、reset --hardのどれを使うか迷う代わりに、リストからタスクを選べば、ジェネレーターがブランチ名、コミットのSHA、タグ名を差し込んだ正確なコマンドを表示します。
Gitコマンドを生成する手順
-
1
タスクを選ぶ
最後のコミットを取り消す、メッセージをamendする、mainへrebaseする、cherry-pickする、リモートへ強制リセットする、リリースにタグを付ける……
-
2
パラメーターを入力する
ブランチ名、コミットのSHA、タグ、各タスクに必要なフィールドだけです。
-
3
コマンドを確認する
ツールが正しいフラグを正しい順序で組み立てます。
-
4
コピーして実行する
ターミナルに貼り付けてください。擬似コードではなく、そのまま実行できる一行です。
カバーするタスク
| タスク | 生成されるコマンド |
|---|---|
| 最後のコミットを取り消す(stagedを保持) | git reset --soft HEAD~1 |
| 最後のコミットメッセージをamendする | git commit --amend -m "…" |
| 未コミットの変更をすべて破棄する | git restore . + git clean -fd |
| 新しいブランチを作成して切り替える | git checkout -b feature/x |
| ブランチをローカルとリモートで削除する | git branch -d x + git push origin --delete x |
| featureブランチをmainと同期する | git fetch origin + git rebase origin/main |
| コミットをcherry-pickする | git cherry-pick <sha> |
| コミットをrevertする(安全) | git revert <sha> |
| リリースにタグを付けてpushする | git tag -a v1.0.0 -m "…" + git push origin v1.0.0 |
| ローカルをリモートへ強制リセットする | git fetch origin + git reset --hard origin/main |
安全・破壊的とマークされたコマンド
- 安全(元に戻せる):
commit、switch、checkout -b、revert、tag。 - ローカルの作業ツリーに対して破壊的:
restore .、clean -fd、reset --hard。 - 共有履歴に対して破壊的:
push --force、filter-repo、他の人が使うブランチでのrebase。
ヒント:リスクの高いコマンドはドライランする
git clean -fdの前にgit clean -ndを実行してください。-nフラグは、実際には削除せずに削除される対象を表示します。git rmでも同じ考え方です。まずgit statusを確認しましょう。
よくある質問
「取り消す」が意味するものが異なるからです。reset --soft HEAD~1は変更をstagedのまま残すので再コミットできます。--mixedはステージを解除します。--hardは変更を破棄します。ジェネレーターでは、フラグを暗記する代わりに目的を選べます。
revertは古いコミットを打ち消す新しいコミットを作成します。履歴が保たれるため、共有ブランチでも安全です。resetはブランチのポインタを巻き戻すため履歴が変わり、ブランチが共有されている場合は強制pushが必要になります。
はい、「ファイルを全履歴から削除する」タスクに使えます。非推奨のfilter-branchより安全かつ高速です。別途インストールが必要です(brew install git-filter-repoまたはpip経由)。
いいえ。コマンドを表示するだけです。実行するかどうかは常にあなたの判断であり、リポジトリに触れる前にフラグや文脈を確認できます。
関連ツール
ASCII表リファレンス
0から127までの完全なASCII表です。NUL、LF、DELなどの制御コードを含め、各文字の10進数、16進数、8進数、2進数、HTML数値文字参照を表示します。
HTML文字参照
HTMLエンティティの検索可能なリスト、その名称コードおよび数値コード、および特殊文字や記号のワンクリックコピー機能を提供します。
キーボードショートカット一覧
macOS、Windows、Linux向けに、VS Code、Chrome、GNU Readlineを使うBashの公式資料に基づく既定ショートカットを検索できます。
EditorConfig ジェネレーター
インデントのスタイルとサイズ、改行コード、文字コード、空白ルールを指定して .editorconfig ファイルを生成し、IDE やエディタをまたいで書式を統一できます。
メールアドレス検証ツール
メールアドレスを検証します。RFC 5322構文チェック、MXレコードのライブ確認に加え、ローカル部、ドメイン、長さの詳細を表示します。メールは送信されません。
Markdownチートシート
見出し、リスト、表、コード、リンク、画像、GFM構文を、実際のプレビューとコピーできる例で確認できる実用的なMarkdownリファレンスです。
このツールは他の言語でも利用できます
- Générateur de commandes Git [FR]
- مولد أوامر Git [AR]
- Git-Befehlsgenerator [DE]
- Git-kommandogenerator [SV]
- เครื่องสร้างคำสั่ง Git [TH]
- Generador de Comandos Git [ES]
- Git 명령어 생성기 [KO]
- Generator Perintah Git [ID]
- Git-commandogenerator [NL]
- Trình tạo lệnh Git [VI]
- Generator komend Git [PL]
- Gerador de Comandos Git [PT]
- Git Command Generator [EN]
- Generatore di Comandi Git [IT]
- Генератор команд Git [RU]
- Git Komut Oluşturucu [TR]
- Git命令生成器 [ZH]