Gitコマンド・Linuxコマンド・HTTPステータスコードは、毎日の開発作業で繰り返し使う基礎知識です。「あのコマンド何だっけ?」と調べる時間を減らすためのチートシートを用意しました。このツールはGitコマンド38件・Linuxコマンド34件・HTTPステータスコード23件をタブ切り替えで表示し、コマンドをクリックするとクリップボードにコピーできます。カテゴリフィルターで素早く絞り込めます。
Gitの基本コマンドとよく使うパターン
Gitの日常的な作業はおおよそ「ステータス確認 → ステージング → コミット → プッシュ」の流れです。git statusで状態を確認し、git add でステージング、git commit でコミット、git push でリモートへ送信します。
ブランチ操作では git switch -c <branch> で新ブランチを作成して切り替え、作業が終わったら git switch main で戻ります。git merge <branch> でメインブランチに統合するか、git rebase <branch> で履歴を整理してからマージする方法があります。チームでは git push --force-with-lease を使うと、他のメンバーの変更を誤って上書きするリスクを防げます。
| カテゴリ | コマンド例 | 目的 |
|---|---|---|
| 状態確認 | git status / git log --oneline | 変更内容とコミット履歴を確認 |
| コミット | git add . && git commit -m | 変更をステージングしてコミット |
| ブランチ | git switch -c feature/xxx | 新機能ブランチを作成して移動 |
| リモート | git pull --rebase / git push | リモートとの同期 |
| スタッシュ | git stash / git stash pop | 作業を一時退避して後で復元 |
よく混同されるGitコマンドの使い分け
git resetとgit revertは似ていますが、用途が違います。git resetはコミットを取り消してローカルの履歴を書き換えます。個人作業中のリセットに向きますが、すでにリモートにプッシュしたコミットに使うと他のメンバーと履歴が食い違い、強制プッシュが必要になります。
git revertは「取り消す」コミットを新たに作成します。履歴には元のコミットと打ち消しコミットの両方が残るため、共有リポジトリでも安全に使えます。本番ブランチの変更を元に戻す場合はgit revertが基本です。
git pullとgit fetchの違いも重要です。git fetchはリモートの変更を取得するだけでローカルのブランチには影響しません。手動でgit mergeまたはgit rebaseを実行して取り込みます。git pullはfetchとmergeを一度に行います。コンフリクトが起きやすい状況ではfetchで事前に確認してから取り込む手順が安全です。
Linuxコマンドの実践的な使い方
サーバー作業やCI/CD環境で頻繁に使うLinuxコマンドを分野別にまとめました。ファイル操作の基本はls -la(詳細一覧)・cp -r・mv・rm -rfです。rm -rfは取り消しができないため、パスを必ず確認してから実行します。
テキスト処理ではgrep -rn 'pattern' . でディレクトリ以下を検索し行番号も表示できます。tail -f file.logはログをリアルタイムで追跡するときに定番です。sedコマンドのsed -i 's/old/new/g' fileはファイル内の文字列を一括置換します。
プロセス管理ではps auxで全プロセスを確認し、PIDを特定してkill -9 <PID>で強制終了できます。nohup cmd & を使うとSSH接続を切断した後もコマンドをバックグラウンドで実行し続けられます。
HTTPステータスコードの読み方と使い分け
HTTPステータスコードは3桁の数字で始まる桁がカテゴリを表します。2xxは成功、3xxはリダイレクト、4xxはクライアント側のエラー、5xxはサーバー側のエラーです。
APIを開発するときに迷いやすいのは401と403の違いです。401 Unauthorizedは「認証が済んでいない(ログインしていない)」状態を示します。403 Forbiddenは「認証済みだがそのリソースへのアクセス権限がない」状態です。ログインしていない場合は401、ログイン済みだが権限不足の場合は403を返すのが正しい使い方です。
リダイレクトでは301 Moved Permanentlyと302 Foundを使い分けます。301は恒久的な移転でSEO的にリンクジュースが引き継がれ、ブラウザはリダイレクト先をキャッシュします。302は一時的な移転で、元のURLへの戻りが想定されます。
| コード | 名称 | 典型的な使いどころ |
|---|---|---|
| 200 | OK | GET・POST・PUTの通常の成功レスポンス |
| 201 | Created | POSTでリソースを新規作成した場合 |
| 204 | No Content | DELETEや更新で返すデータがない場合 |
| 301 | Moved Permanently | URLを恒久的に変更した場合(SEO引き継ぎ) |
| 400 | Bad Request | リクエストパラメータが不正・バリデーションエラー |
| 401 | Unauthorized | 未認証(ログインが必要) |
| 403 | Forbidden | 認証済みだが権限がない |
| 404 | Not Found | リソースが存在しない |
| 500 | Internal Server Error | サーバー側のバグ・予期しない例外 |
| 503 | Service Unavailable | メンテナンス中・一時的な過負荷 |
チートシートの活用方法
- ブックマーク登録してターミナル作業中にすぐ参照する
- コマンドをクリックしてクリップボードにコピーし、そのままターミナルに貼り付ける
- カテゴリフィルター(ブランチ・リモート・ネットワーク等)で目的の操作を絞り込む
- HTTPコードはAPIの実装・レビュー・デバッグ時にステータスの意味を確認するために使う
- 新人のオンボーディング資料として活用する
※ コマンドの動作はバージョンやOS・ディストリビューションによって異なる場合があります。
※ git resetなど取り消し系のコマンドは共有ブランチでの実行に注意してください。
よくある質問
Q git resetとgit revertはどう使い分けますか?
git resetはコミット履歴を書き換えるためローカル作業中の取り消しに向いています。すでにリモートへプッシュしたコミットへの使用は強制プッシュが必要になり、チームに影響します。git revertは打ち消しコミットを追加するだけなので共有ブランチでも安全に使えます。本番ブランチにはgit revertを使うのが基本です。
Q HTTPの401と403の違いを教えてください。
401 Unauthorizedは認証が必要な状態(ログインしていない・トークンが無効)を表します。403 Forbiddenは認証済みだがそのリソースへのアクセス権限がない状態です。ログインしていないユーザーには401、ログインしているが閲覧権限のないユーザーには403を返すのが正しい設計です。
Q git pullとgit fetchの違いは何ですか?
git fetchはリモートの更新をローカルに取得するだけで、現在のブランチには影響しません。その後git mergeまたはgit rebaseを手動で実行して取り込みます。git pullはfetchとmergeを一度に実行します。コンフリクトが起きやすい環境ではfetchで差分を確認してから取り込む手順のほうが安全です。
Q rm -rfで削除したファイルは復元できますか?
通常のrm -rfコマンドはファイルをゴミ箱に移さず直接削除するため、コマンドだけでは復元できません。削除前にバックアップを取るか、rm -iオプションで確認ダイアログを出すようにするのが安全です。誤削除が心配な場合はtrashコマンドやaliasでゴミ箱に移す設定を入れることをおすすめします。
