Git コマンド実践リファレンス(自分用メモ)

目次

ユーザー設定系(config)

  • Gitでコミットに記録される「ユーザー名」と「メールアドレス」をはじめ、利用者ごとの環境や動作を指定する設定コマンド群。
<div class="copycmd">
  <div class="copycmd__top">
    <div class="copycmd__label">確認 · user.name · bash</div>
    <button type="button" class="copycmd__btn" data-copycmd-btn>コピー</button>
  </div>
  <pre class="copycmd__code" data-copycmd-code>git config --global user.name</pre>
</div>



<div class="copycmd">
  <div class="copycmd__top">
    <div class="copycmd__label">確認 · user.email · bash</div>
    <button type="button" class="copycmd__btn" data-copycmd-btn>コピー</button>
  </div>
  <pre class="copycmd__code" data-copycmd-code>git config --global user.email</pre>
</div>



<div class="copycmd">
  <div class="copycmd__top">
    <div class="copycmd__label">一覧表示 · bash</div>
    <button type="button" class="copycmd__btn" data-copycmd-btn>コピー</button>
  </div>
  <pre class="copycmd__code" data-copycmd-code>git config --list</pre>
</div>



<div class="copycmd">
  <div class="copycmd__top">
    <div class="copycmd__label">設定 · user.name · bash</div>
    <button type="button" class="copycmd__btn" data-copycmd-btn>コピー</button>
  </div>
  <pre class="copycmd__code" data-copycmd-code>git config --global user.name "あなたの名前"</pre>
</div>



<div class="copycmd">
  <div class="copycmd__top">
    <div class="copycmd__label">設定 · user.email · bash</div>
    <button type="button" class="copycmd__btn" data-copycmd-btn>コピー</button>
  </div>
  <pre class="copycmd__code" data-copycmd-code>git config --global user.email "you@example.com"</pre>
</div>



<div class="copycmd">
  <div class="copycmd__top">
    <div class="copycmd__label">新規リポジトリのデフォルトブランチをmainに · bash</div>
    <button type="button" class="copycmd__btn" data-copycmd-btn>コピー</button>
  </div>
  <pre class="copycmd__code" data-copycmd-code>git config --global init.defaultBranch main</pre>
</div>

リポジトリの初期化と状態確認

  • 初期化/状態確認/履歴/差分の基本
<div class="copycmd">
  <div class="copycmd__top">
    <div class="copycmd__label">リポジトリ初期化 · bash</div>
    <button type="button" class="copycmd__btn" data-copycmd-btn>コピー</button>
  </div>
  <pre class="copycmd__code" data-copycmd-code>git init</pre>
</div>



<div class="copycmd">
  <div class="copycmd__top">
    <div class="copycmd__label">状態を確認 · bash</div>
    <button type="button" class="copycmd__btn" data-copycmd-btn>コピー</button>
  </div>
  <pre class="copycmd__code" data-copycmd-code>git status</pre>
</div>



<div class="copycmd">
  <div class="copycmd__top">
    <div class="copycmd__label">履歴(1行表示) · bash</div>
    <button type="button" class="copycmd__btn" data-copycmd-btn>コピー</button>
  </div>
  <pre class="copycmd__code" data-copycmd-code>git log --oneline --graph --decorate --all</pre>
</div>



<div class="copycmd">
  <div class="copycmd__top">
    <div class="copycmd__label">差分(ワークツリーとステージ間) · bash</div>
    <button type="button" class="copycmd__btn" data-copycmd-btn>コピー</button>
  </div>
  <pre class="copycmd__code" data-copycmd-code>git diff</pre>
</div>



<div class="copycmd">
  <div class="copycmd__top">
    <div class="copycmd__label">差分(ステージと直前コミット) · bash</div>
    <button type="button" class="copycmd__btn" data-copycmd-btn>コピー</button>
  </div>
  <pre class="copycmd__code" data-copycmd-code>git diff --cached</pre>
</div>

ファイル管理(ステージングとコミット)

  • add/commit/reset/rm/mv の実用セット
<div class="copycmd">
  <div class="copycmd__top">
    <div class="copycmd__label">変更をステージ · bash</div>
    <button type="button" class="copycmd__btn" data-copycmd-btn>コピー</button>
  </div>
  <pre class="copycmd__code" data-copycmd-code>git add -A</pre>
</div>



<div class="copycmd">
  <div class="copycmd__top">
    <div class="copycmd__label">特定ファイルだけステージ · bash</div>
    <button type="button" class="copycmd__btn" data-copycmd-btn>コピー</button>
  </div>
  <pre class="copycmd__code" data-copycmd-code>git add &lt;path/to/file&gt;</pre>
</div>



<div class="copycmd">
  <div class="copycmd__top">
    <div class="copycmd__label">コミット(メッセージ付き) · bash</div>
    <button type="button" class="copycmd__btn" data-copycmd-btn>コピー</button>
  </div>
  <pre class="copycmd__code" data-copycmd-code>git commit -m "feat: message"</pre>
</div>



<div class="copycmd">
  <div class="copycmd__top">
    <div class="copycmd__label">直前コミットをメッセ修正 · bash</div>
    <button type="button" class="copycmd__btn" data-copycmd-btn>コピー</button>
  </div>
  <pre class="copycmd__code" data-copycmd-code>git commit --amend</pre>
</div>



<div class="copycmd">
  <div class="copycmd__top">
    <div class="copycmd__label">ステージから外す(保持) · bash</div>
    <button type="button" class="copycmd__btn" data-copycmd-btn>コピー</button>
  </div>
  <pre class="copycmd__code" data-copycmd-code>git reset HEAD &lt;path/to/file&gt;</pre>
</div>



<div class="copycmd">
  <div class="copycmd__top">
    <div class="copycmd__label">変更を破棄して直前に戻す(危険) · bash</div>
    <button type="button" class="copycmd__btn" data-copycmd-btn>コピー</button>
  </div>
  <pre class="copycmd__code" data-copycmd-code>git reset --hard HEAD</pre>
</div>



<div class="copycmd">
  <div class="copycmd__top">
    <div class="copycmd__label">ファイルを削除(追跡も削除) · bash</div>
    <button type="button" class="copycmd__btn" data-copycmd-btn>コピー</button>
  </div>
  <pre class="copycmd__code" data-copycmd-code>git rm &lt;path/to/file&gt;</pre>
</div>



<div class="copycmd">
  <div class="copycmd__top">
    <div class="copycmd__label">ファイル名/場所を変更(履歴保持) · bash</div>
    <button type="button" class="copycmd__btn" data-copycmd-btn>コピー</button>
  </div>
  <pre class="copycmd__code" data-copycmd-code>git mv &lt;old&gt; &lt;new&gt;</pre>
</div>

ブランチ操作

  • 作成/切替/削除/マージ/リベース
<div class="copycmd">
  <div class="copycmd__top">
    <div class="copycmd__label">ブランチ一覧(リモート含む) · bash</div>
    <button type="button" class="copycmd__btn" data-copycmd-btn>コピー</button>
  </div>
  <pre class="copycmd__code" data-copycmd-code>git branch -a</pre>
</div>



<div class="copycmd">
  <div class="copycmd__top">
    <div class="copycmd__label">ブランチ作成 · bash</div>
    <button type="button" class="copycmd__btn" data-copycmd-btn>コピー</button>
  </div>
  <pre class="copycmd__code" data-copycmd-code>git branch &lt;new-branch&gt;</pre>
</div>



<div class="copycmd">
  <div class="copycmd__top">
    <div class="copycmd__label">切り替え(新規作成も) · bash</div>
    <button type="button" class="copycmd__btn" data-copycmd-btn>コピー</button>
  </div>
  <pre class="copycmd__code" data-copycmd-code>git switch -c &lt;new-branch&gt;</pre>
</div>



<div class="copycmd">
  <div class="copycmd__top">
    <div class="copycmd__label">既存へ切り替え · bash</div>
    <button type="button" class="copycmd__btn" data-copycmd-btn>コピー</button>
  </div>
  <pre class="copycmd__code" data-copycmd-code>git switch &lt;branch&gt;</pre>
</div>



<div class="copycmd">
  <div class="copycmd__top">
    <div class="copycmd__label">ブランチを削除(マージ済み) · bash</div>
    <button type="button" class="copycmd__btn" data-copycmd-btn>コピー</button>
  </div>
  <pre class="copycmd__code" data-copycmd-code>git branch -d &lt;branch&gt;</pre>
</div>



<div class="copycmd">
  <div class="copycmd__top">
    <div class="copycmd__label">ブランチを強制削除 · bash</div>
    <button type="button" class="copycmd__btn" data-copycmd-btn>コピー</button>
  </div>
  <pre class="copycmd__code" data-copycmd-code>git branch -D &lt;branch&gt;</pre>
</div>



<div class="copycmd">
  <div class="copycmd__top">
    <div class="copycmd__label">マージ(no-ffで履歴を残す) · bash</div>
    <button type="button" class="copycmd__btn" data-copycmd-btn>コピー</button>
  </div>
  <pre class="copycmd__code" data-copycmd-code>git merge --no-ff &lt;topic-branch&gt;</pre>
</div>



<div class="copycmd">
  <div class="copycmd__top">
    <div class="copycmd__label">現在ブランチをmainへrebase · bash</div>
    <button type="button" class="copycmd__btn" data-copycmd-btn>コピー</button>
  </div>
  <pre class="copycmd__code" data-copycmd-code>git rebase main</pre>
</div>

リモート操作

  • clone/remote/fetch/pull/push の基本形
<div class="copycmd">
  <div class="copycmd__top">
    <div class="copycmd__label">クローン(履歴浅く) · bash</div>
    <button type="button" class="copycmd__btn" data-copycmd-btn>コピー</button>
  </div>
  <pre class="copycmd__code" data-copycmd-code>git clone --depth 1 &lt;repo-url&gt;</pre>
</div>



<div class="copycmd">
  <div class="copycmd__top">
    <div class="copycmd__label">リモート追加 · bash</div>
    <button type="button" class="copycmd__btn" data-copycmd-btn>コピー</button>
  </div>
  <pre class="copycmd__code" data-copycmd-code>git remote add origin &lt;repo-url&gt;</pre>
</div>



<div class="copycmd">
  <div class="copycmd__top">
    <div class="copycmd__label">リモート一覧とURL · bash</div>
    <button type="button" class="copycmd__btn" data-copycmd-btn>コピー</button>
  </div>
  <pre class="copycmd__code" data-copycmd-code>git remote -v</pre>
</div>



<div class="copycmd">
  <div class="copycmd__top">
    <div class="copycmd__label">取得(削除ブランチを掃除) · bash</div>
    <button type="button" class="copycmd__btn" data-copycmd-btn>コピー</button>
  </div>
  <pre class="copycmd__code" data-copycmd-code>git fetch --prune</pre>
</div>



<div class="copycmd">
  <div class="copycmd__top">
    <div class="copycmd__label">取得+リベースで取り込み · bash</div>
    <button type="button" class="copycmd__btn" data-copycmd-btn>コピー</button>
  </div>
  <pre class="copycmd__code" data-copycmd-code>git pull --rebase</pre>
</div>



<div class="copycmd">
  <div class="copycmd__top">
    <div class="copycmd__label">初回push(上流設定) · bash</div>
    <button type="button" class="copycmd__btn" data-copycmd-btn>コピー</button>
  </div>
  <pre class="copycmd__code" data-copycmd-code>git push -u origin &lt;branch&gt;</pre>
</div>



<div class="copycmd">
  <div class="copycmd__top">
    <div class="copycmd__label">現在ブランチをpush · bash</div>
    <button type="button" class="copycmd__btn" data-copycmd-btn>コピー</button>
  </div>
  <pre class="copycmd__code" data-copycmd-code>git push</pre>
</div>

タグ管理

  • 作成/表示/削除/送信
<div class="copycmd">
  <div class="copycmd__top">
    <div class="copycmd__label">軽量タグを作成 · bash</div>
    <button type="button" class="copycmd__btn" data-copycmd-btn>コピー</button>
  </div>
  <pre class="copycmd__code" data-copycmd-code>git tag v1.0.0</pre>
</div>



<div class="copycmd">
  <div class="copycmd__top">
    <div class="copycmd__label">署名/注釈付きタグ · bash</div>
    <button type="button" class="copycmd__btn" data-copycmd-btn>コピー</button>
  </div>
  <pre class="copycmd__code" data-copycmd-code>git tag -a v1.0.0 -m "release v1.0.0"</pre>
</div>



<div class="copycmd">
  <div class="copycmd__top">
    <div class="copycmd__label">タグの内容を表示 · bash</div>
    <button type="button" class="copycmd__btn" data-copycmd-btn>コピー</button>
  </div>
  <pre class="copycmd__code" data-copycmd-code>git show v1.0.0</pre>
</div>



<div class="copycmd">
  <div class="copycmd__top">
    <div class="copycmd__label">タグを削除(ローカル) · bash</div>
    <button type="button" class="copycmd__btn" data-copycmd-btn>コピー</button>
  </div>
  <pre class="copycmd__code" data-copycmd-code>git tag -d v1.0.0</pre>
</div>



<div class="copycmd">
  <div class="copycmd__top">
    <div class="copycmd__label">タグを一括でpush · bash</div>
    <button type="button" class="copycmd__btn" data-copycmd-btn>コピー</button>
  </div>
  <pre class="copycmd__code" data-copycmd-code>git push origin --tags</pre>
</div>



<div class="copycmd">
  <div class="copycmd__top">
    <div class="copycmd__label">タグを削除(リモート) · bash</div>
    <button type="button" class="copycmd__btn" data-copycmd-btn>コピー</button>
  </div>
  <pre class="copycmd__code" data-copycmd-code>git push origin :refs/tags/v1.0.0</pre>
</div>

高度な調査・修正

  • reflog/stash/cherry-pick/bisect の即戦力コマンド
<div class="copycmd">
  <div class="copycmd__top">
    <div class="copycmd__label">参照ログ(HEADの移動履歴) · bash</div>
    <button type="button" class="copycmd__btn" data-copycmd-btn>コピー</button>
  </div>
  <pre class="copycmd__code" data-copycmd-code>git reflog</pre>
</div>



<div class="copycmd">
  <div class="copycmd__top">
    <div class="copycmd__label">作業中を一時退避 · bash</div>
    <button type="button" class="copycmd__btn" data-copycmd-btn>コピー</button>
  </div>
  <pre class="copycmd__code" data-copycmd-code>git stash push -m "wip"</pre>
</div>



<div class="copycmd">
  <div class="copycmd__top">
    <div class="copycmd__label">最新のstashを戻す(履歴から削除) · bash</div>
    <button type="button" class="copycmd__btn" data-copycmd-btn>コピー</button>
  </div>
  <pre class="copycmd__code" data-copycmd-code>git stash pop</pre>
</div>



<div class="copycmd">
  <div class="copycmd__top">
    <div class="copycmd__label">最新のstashを適用(履歴残す) · bash</div>
    <button type="button" class="copycmd__btn" data-copycmd-btn>コピー</button>
  </div>
  <pre class="copycmd__code" data-copycmd-code>git stash apply</pre>
</div>



<div class="copycmd">
  <div class="copycmd__top">
    <div class="copycmd__label">特定コミットを取り込む · bash</div>
    <button type="button" class="copycmd__btn" data-copycmd-btn>コピー</button>
  </div>
  <pre class="copycmd__code" data-copycmd-code>git cherry-pick &lt;commit&gt;</pre>
</div>



<div class="copycmd">
  <div class="copycmd__top">
    <div class="copycmd__label">バイセクト開始 · bash</div>
    <button type="button" class="copycmd__btn" data-copycmd-btn>コピー</button>
  </div>
  <pre class="copycmd__code" data-copycmd-code>git bisect start</pre>
</div>



<div class="copycmd">
  <div class="copycmd__top">
    <div class="copycmd__label">良いコミットを指定 · bash</div>
    <button type="button" class="copycmd__btn" data-copycmd-btn>コピー</button>
  </div>
  <pre class="copycmd__code" data-copycmd-code>git bisect good &lt;commit&gt;</pre>
</div>



<div class="copycmd">
  <div class="copycmd__top">
    <div class="copycmd__label">悪いコミットを指定 · bash</div>
    <button type="button" class="copycmd__btn" data-copycmd-btn>コピー</button>
  </div>
  <pre class="copycmd__code" data-copycmd-code>git bisect bad &lt;commit&gt;</pre>
</div>

設定ファイルの直接編集

  • 直接開きたいときのショートカット(Windows向け例)
<div class="copycmd">
  <div class="copycmd__top">
    <div class="copycmd__label">グローバル設定をメモ帳で開く(Win) · bash</div>
    <button type="button" class="copycmd__btn" data-copycmd-btn>コピー</button>
  </div>
  <pre class="copycmd__code" data-copycmd-code>notepad %USERPROFILE%.gitconfig</pre>
</div>



<div class="copycmd">
  <div class="copycmd__top">
    <div class="copycmd__label">このリポジトリの設定を開く(Win) · bash</div>
    <button type="button" class="copycmd__btn" data-copycmd-btn>コピー</button>
  </div>
  <pre class="copycmd__code" data-copycmd-code>notepad .git\config</pre>
</div>

トラブル対応メモ(最低限)

<div class="copycmd">
  <div class="copycmd__top">
    <div class="copycmd__label">直前コミットを打ち消す新規コミット · bash</div>
    <button type="button" class="copycmd__btn" data-copycmd-btn>コピー</button>
  </div>
  <pre class="copycmd__code" data-copycmd-code>git revert HEAD</pre>
</div>



<div class="copycmd">
  <div class="copycmd__top">
    <div class="copycmd__label">ローカルをリモートの最新へ強制合わせ(危険) · bash</div>
    <button type="button" class="copycmd__btn" data-copycmd-btn>コピー</button>
  </div>
  <pre class="copycmd__code" data-copycmd-code>git fetch origin &amp;&amp; git reset --hard origin/&lt;branch&gt;</pre>
</div>



<div class="copycmd">
  <div class="copycmd__top">
    <div class="copycmd__label">リモート追跡を設定し直す(上流設定) · bash</div>
    <button type="button" class="copycmd__btn" data-copycmd-btn>コピー</button>
  </div>
  <pre class="copycmd__code" data-copycmd-code>git branch --set-upstream-to=origin/&lt;branch&gt;</pre>
</div>
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

目次