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経由)。
いいえ。コマンドを表示するだけです。実行するかどうかは常にあなたの判断であり、リポジトリに触れる前にフラグや文脈を確認できます。
関連ツール
Webpack設定ジェネレーター
短いフォームからwebpack 5のwebpack.config.jsを生成します。entry・出力フォルダー・モードを設定し、TypeScript、Babel、CSSローダー、HtmlWebpackPlugin、開発サーバーを切り替えるだけです。
CMYK から RGB への変換
標準的な計算式で CMYK の割合をおおよその RGB 値と Hex 値に変換し、画面用にすばやく確認できます。
.gitignore ジェネレーター
Laravel、Node.js、Python、Rails のプロジェクト用除外ルールを組み合わせます。結果をコピーするか、.gitignore 入りの ZIP をダウンロードできます。個人用ルールは別に表示します。
16進数から10進数への変換ツール
16進数を10進数(10進法)に変換します。メモリアドレス、エラーコード、RGBチャンネル、任意精度の整数に対応します。
Dockerfileジェネレーター
5つのアプリ構成に合うDockerfileと.dockerignoreを作成。実際の起動対象、作業ディレクトリ、内部ポートを入力し、両方のファイルを確認できます。
Markdownリンク生成ツール
URLとアンカーテキストからMarkdownリンクの記法を生成します。タイトルのツールチップや、長い文書を読みやすく整える参照形式のリンクにも対応しています。
このツールは他の言語でも利用できます
- Generator komend Git [PL]
- เครื่องสร้างคำสั่ง Git [TH]
- Gerador de Comandos Git [PT]
- Trình tạo lệnh Git [VI]
- Git-Befehlsgenerator [DE]
- Git-kommandogenerator [SV]
- Generator Perintah Git [ID]
- Generador de Comandos Git [ES]
- Générateur de commandes Git [FR]
- Git 명령어 생성기 [KO]
- مولد أوامر Git [AR]
- Git-commandogenerator [NL]
- Git Komut Oluşturucu [TR]
- Git命令生成器 [ZH]
- Git Command Generator [EN]
- Generatore di Comandi Git [IT]
- Генератор команд Git [RU]