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