Gitコマンドチートシート
Gitには約150のサブコマンドがあり、そのいくつかは危険なほど似ています、reset vs restore、checkout vs switch、rm vs restore --staged。このチートシートは、実際に打ち込むコマンドを状況別にまとめています:日常のワークフロー、ブランチ、ミスの取り消し、stash。グループを選んでブロックをコピーしてください。
チートシートの使い方
-
1
トピックを選ぶ
日常、ブランチ、取り消し、stash:それぞれが異なる思考モードに対応します。
-
2
ブロックをざっと見る
各行は完全に動作するコマンドです:明示的に示されない限り、山かっこのプレースホルダーはありません。
-
3
必要なものをコピー
ターミナルに貼り付け、ブランチ名やコミットのSHAを調整して実行します。
熟練ユーザーでもなおコマンドに混乱する理由
Gitのporcelainは継ぎ足しで成長しました。checkoutは「ブランチを切り替える」と「ファイルを復元する」に多重定義され、resetは「作業を破棄する」と「ブランチのポインターを動かす」の間に位置します。Git 2.23以降は、より明確な動詞があります。
| 旧 | 新(より明確) |
|---|---|
git checkout branch |
git switch branch |
git checkout -b new |
git switch -c new |
git checkout -- file |
git restore file |
git checkout --staged file |
git restore --staged file |
安全な取り消しのはしご
- 1つのファイルを復元:
git restore path/to/file(未ステージ)またはgit restore --staged path/to/file(ステージ済みだが未コミット)。 - 直前のコミットを取り消し、変更を残す:
git reset --soft HEAD~1。 - 直前のコミットを取り消し、変更を破棄:
git reset --hard HEAD~1(破壊的。未コミットの作業がないことを確認)。 - 共有されたコミットを取り消す:
git revert <sha>、古いコミットを打ち消す新しいコミットを作ります。プッシュ済みの履歴でも安全です。
stashのエチケット
- 常にメッセージ付きでstashする:
git stash push -m "wip: APIを接続中"。 - popする前に
git stash listでstashを一覧表示する、無名のstashはすぐに溜まります。 git stash popは適用して削除し、git stash applyは適用して残します。
復旧
ハードリセットの後にコミットを失いましたか?おそらくまだreflogにあります。git reflogを実行して過去90日のHEADの移動をすべて確認し、git reset --hard <sha>で良い状態に戻ってください。
よくある質問
Git 2.23(2019年8月)以降、プロジェクトは多重定義されたcheckout動詞を2つに分けました。switchはブランチを変え、restoreはファイルを直します。後方互換のため両方とも存在しますが、シェルの履歴を見返すときに読みやすくなります。
resetはブランチのポインターを(任意で作業ツリーも)動かします。revertは前のコミットを取り消す新しいコミットを作ります、共有ブランチで安全です。checkout / restoreは履歴を書き換えずに作業ツリーのファイルを変えます。
git revert <sha>で補償するコミットを追加し、それをプッシュします。チームが明示的に合意していない限り、共有ブランチでのgit reset --hard+git push --forceは避けてください。
コマンドはページ内で描画される静的なテキストです。選択したトピックは、対応するコマンドを表示するためだけにサーバーへ送信され、2つのステップ間を移動するときはページのリンクにも含まれます。保存や記録はされません。
関連ツール
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リファレンスです。
このツールは他の言語でも利用できます
- ورقة مرجعية لأوامر Git [AR]
- Git-kommandon fusklapp [SV]
- Folha de Dicas de Comandos Git [PT]
- คู่มือคำสั่ง Git สำหรับการใช้งานอย่างรวดเร็วและสะดวก [TH]
- Git 명령어 치트시트 [KO]
- Lembar Contekan Perintah Git [ID]
- Git-commando's spiekbriefje [NL]
- Ściąga z poleceń Git [PL]
- Feuille de triche des commandes Git [FR]
- Bảng tra nhanh lệnh Git [VI]
- Git-Befehlsübersicht [DE]
- Hoja de trucos de comandos de Git [ES]
- Git命令速查表 [ZH]
- Git Command Cheatsheet [EN]
- Promemoria dei comandi Git [IT]
- Шпаргалка по командам Git [RU]
- Git Komutları Kopya Kağıdı [TR]