Git チートシート
Gitコマンドのクイックリファレンス。基本操作、ブランチ、リモート操作、stash、log、rebase、タグ、設定を網羅
79 件のコマンド
git init新しいGitリポジトリを初期化
git initgit cloneリモートリポジトリをクローン
git clone https://github.com/user/repo.gitgit clone --depth浅いクローン(履歴制限)を作成
git clone --depth 1 https://github.com/user/repo.gitgit addファイルをステージングエリアに追加
git add file.txtgit add -A全変更をステージングエリアに追加
git add -Agit add -p変更を部分的にステージング
git add -pgit commitステージした変更をコミット
git commit -m 'Add new feature'git commit --amend直前のコミットを修正
git commit --amend -m 'Updated message'git statusワーキングツリーの状態を表示
git statusgit rmファイルを削除してステージング
git rm file.txtgit rm --cached追跡を解除(ファイルは残す)
git rm --cached secret.envgit mvファイルを移動・名前変更
git mv old_name.txt new_name.txtgit branchローカルブランチ一覧を表示
git branchgit branch -a全ブランチ(リモート含む)を表示
git branch -agit branch (create)新しいブランチを作成
git branch feature/logingit branch -dマージ済みブランチを削除
git branch -d feature/logingit branch -Dブランチを強制削除
git branch -D feature/experimentalgit branch -mブランチ名を変更
git branch -m old-name new-namegit checkoutブランチを切り替え
git checkout maingit checkout -bブランチを作成して切り替え
git checkout -b feature/signupgit switchブランチを切り替え(新コマンド)
git switch maingit switch -cブランチを作成して切り替え(新コマンド)
git switch -c feature/dashboardgit remote -vリモートリポジトリ一覧を表示
git remote -vgit remote addリモートリポジトリを追加
git remote add origin https://github.com/user/repo.gitgit remote removeリモートリポジトリを削除
git remote remove upstreamgit remote renameリモートリポジトリ名を変更
git remote rename origin upstreamgit fetchリモートの変更を取得(マージなし)
git fetch origingit fetch --prune削除済みリモートブランチを整理
git fetch --prunegit pullリモートの変更を取得してマージ
git pull origin maingit pull --rebaseリベースして変更を取り込み
git pull --rebase origin maingit pushローカルの変更をリモートに送信
git push origin maingit push -u上流ブランチを設定してプッシュ
git push -u origin feature/logingit push --force-with-lease安全な強制プッシュ
git push --force-with-leasegit stash変更を一時退避
git stashgit stash -mメッセージ付きでスタッシュ
git stash -m 'WIP: login feature'git stash listスタッシュ一覧を表示
git stash listgit stash pop最新のスタッシュを適用して削除
git stash popgit stash applyスタッシュを適用(削除しない)
git stash apply stash@{0}git stash dropスタッシュを削除
git stash drop stash@{0}git stash clear全スタッシュを削除
git stash cleargit stash showスタッシュの変更内容を表示
git stash show -p stash@{0}git stash branchスタッシュからブランチを作成
git stash branch feature/from-stash stash@{0}git logコミット履歴を表示
git loggit log --onelineコミット履歴を1行ずつ表示
git log --onelinegit log --graphブランチグラフ付きで履歴を表示
git log --graph --oneline --allgit log -p差分付きでコミット履歴を表示
git log -p -2git log --author特定の作者のコミットを表示
git log --author='John'git log --since指定日時以降のコミットを表示
git log --since='2024-01-01'git diffワーキングツリーとステージの差分を表示
git diffgit diff --stagedステージした変更の差分を表示
git diff --stagedgit diff branch1..branch2ブランチ間の差分を表示
git diff main..feature/logingit blame各行の最終変更者を表示
git blame file.txtgit shortlog作者ごとのコミットサマリーを表示
git shortlog -sngit mergeブランチをマージ
git merge feature/logingit merge --no-fffast-forwardなしでマージ
git merge --no-ff feature/logingit merge --squashコミットをまとめてマージ
git merge --squash feature/logingit rebaseブランチをリベース
git rebase maingit rebase --abortリベースを中止
git rebase --abortgit rebase --continueコンフリクト解決後にリベースを続行
git rebase --continuegit cherry-pick特定のコミットを適用
git cherry-pick abc1234git revertコミットを打ち消すコミットを作成
git revert abc1234git reset --softコミットを取り消し(変更はステージに保持)
git reset --soft HEAD~1git reset --mixedコミットを取り消し(変更はワーキングツリーに保持)
git reset HEAD~1git tagタグ一覧を表示
git taggit tag (lightweight)軽量タグを作成
git tag v1.0.0git tag -a注釈付きタグを作成
git tag -a v1.0.0 -m 'Release v1.0.0'git tag -dローカルタグを削除
git tag -d v1.0.0git push origin --tags全タグをリモートにプッシュ
git push origin --tagsgit push origin --delete tagリモートタグを削除
git push origin --delete v1.0.0git show tagタグの詳細を表示
git show v1.0.0git config --global user.nameグローバルユーザー名を設定
git config --global user.name 'John Doe'git config --global user.emailグローバルメールアドレスを設定
git config --global user.email 'john@example.com'git config --list全設定を一覧表示
git config --listgit config --global core.editorデフォルトエディタを設定
git config --global core.editor 'vim'git clean -fd追跡されていないファイルを削除
git clean -fdgit clean -n削除対象のファイルを確認(ドライラン)
git clean -ngit bisect start二分探索でバグ導入コミットを特定
git bisect startgit reflog参照ログを表示(HEAD移動履歴)
git refloggit worktree addワーキングツリーを追加
git worktree add ../feature-branch feature/login