Skip to main content

Gitコマンド逆引き一覧

初期設定

  • 初期設定を行う
    git config --global user.name "Your Name"
    git config --global user.email "your.email@example.com"

リポジトリの作成とプッシュ

  • ローカルにリポジトリを作成し、リモートにプッシュする
    git init
    git add .
    git commit -m "Initial commit"
    git remote add origin https://github.com/user/repo.git
    git push -u origin main

リモートからのクローンと変更の取得

  • リモートからクローンする

    git clone https://github.com/user/repo.git
  • リモートから変更を取得する

    git pull

    または

    git fetch
    git merge origin/master

ファイルの登録とコミット

  • ファイルの登録(ステージング)

    git add <ファイル名>
  • ファイルの変更や追加をコミット

    git commit -m "コミットメッセージ"

変更の確認と差分の抽出

  • ローカルの変更を確認する

    git status
  • リモートとローカルのファイルの差分を抽出する

    git diff <ファイル名>

コミットの履歴と変更点の確認

  • commitの変更履歴をみる

    git log
  • 指定したcommitの変更点を見る

    git show <コミットのハッシュ値>

リモートへのプッシュ

  • リモートにプッシュ
    git push origin <ブランチ名>

addとcommitの取り消し

  • addの取り消し

    git reset HEAD <ファイル名>
  • commitの取り消し

    git reset --hard HEAD^
    • --hard: コミット取り消した上でワークディレクトリの内容も書き換えたい場合
    • --soft: ワークディレクトリの内容はそのままでコミットだけを取り消したい場合
    • HEAD^: 直前のコミット
    • HEAD~{n}: n個前のコミット

commitの打ち消しとメッセージの修正

  • commitの打ち消し

    git revert <コミットのハッシュ値>
  • コミットメッセージの修正

    git commit --amend "新しいコミットメッセージ"

pushの取り消し

  • pushの取り消し
    git reset --hard <戻したいコミットのハッシュ値>
    git push -f

ブランチの作成、切り替え、名前変更、削除

  • ローカルでブランチを作成

    git branch <ブランチ名>
  • ローカルでブランチを切り替え

    git checkout <ブランチ名>
  • ブランチ作成 & 切り替え

    git checkout -b <ブランチ名>
  • ブランチ名の変更

    git branch -m <古いブランチ名> <新しいブランチ名>
  • ブランチの削除

    git branch -d <ブランチ名>

ブランチのリモートへの反映とローカルへの取得

  • ローカルのブランチをリモートに反映

    git push -u origin <ローカルのブランチ名>
  • リモートのブランチをローカルに持ってくる

    git branch <ブランチ名> origin/<ブランチ名>
  • リモートのブランチをローカルに持ってくる & 切り替え

    git checkout -b <ブランチ名> origin/<ブランチ名>

ブランチの確認と比較

  • 全てのブランチを確認する

    git branch -a
  • ブランチを比較する

    git diff <ブランチ名> <ブランチ名>

ブランチのマージとリベース

  • ブランチをマージする

    git merge <ブランチ名>

    fast-forwardの関係であっても必ずマージコミットを作る

    git merge --no-ff <ブランチ名>
  • ブランチをリベースする

    git rebase <ブランチ名>
    • merge: 分岐元のブランチで実行
    • rebase: 分岐先のブランチで実行

変更点の退避と復元

  • 変更点を一旦退避させる

    git stash save
  • 退避した作業の一覧を見る

    git stash list
  • 退避した作業を戻す

    git stash apply <stash名>
  • 退避した作業を消す

    git stash drop <stash名>
  • 退避した作業をすべて消す

    git stash clear

ファイルの削除とリネーム

  • ファイル削除

    git rm -f <ファイル名>
  • ファイルリネーム

    git mv <元のファイル名> <変えたいファイル名>

ファイルの状態の戻し

  • ファイルを最新のコミットの状態に戻す

    git checkout HEAD <ファイル名>
  • ファイルを指定コミットまで戻す

    git checkout <コミットのハッシュ値> <ファイル名>

.gitignoreの無視とディレクトリの登録

  • .gitignore を無視して追加する

    git add -f <ファイル名>
  • ディレクトリだけ登録(.gitkeepをディレクトリに作成する)

    touch <ディレクトリ名>/.gitkeep