よく使うgitコマンドまとめ

設定系

コマンド内容補足
git config user.nameユーザー名の確認以下のようにオプションを付与することで対象を指定できる

–local
–system,
–global

git config user.emailメールアドレスの確認以下のようにオプションを付与することで対象を指定できる

–local
–system,
–global

git config -lコマンドを実行した場所で有効になっている設定項目とその設定値がすべて表示
git config user.name <設定する値>設定の変更デフォルト(オプションなし)ではlocalの設定が変更される
git remote -vリモートのリポジトリURL確認 
git remote add origin <githubのURL>
ローカルのリポジトリとリモートのリポジトリURLを紐づける 
git remote set-url origin {new url}リポジトリのurlを変更する 
git remote rm origin
リモートリポジトリに紐づいているURLを削除する 
git remote set-url origin {new url}
リモートリポジトリに紐づいているURLを変更する 
プロジェクトフォルダに移動して、以下を実行
rm -rf .git
ローカルリポジトリの削除
 

※設定の適用範囲や設定ファイル等については以下の通り

system, global, localの順に読み込まれる。例えば、systemとlocalで同じ項目が設定されている場合はlocalの値が有効になる。

種類対象範囲場所の例備考
systemシステム全体(全ユーザーの全リポジトリ)/etc/gitconfig
global該当ユーザーの全リポジトリ~/.gitconfigホーム直下
local該当リポジトリrepository/.git/configリポジトリの.git直下

ブランチ系

コマンド内容補足
git branchローカルブランチ一覧
git checkout <branch_name>ブランチ移動
git checkout -b <branch_name>新規ブランチ作成
git branch –delete <branch_name>ブランチ削除
git branch -D <branch_name>ブランチ強制削除
git branch –merged <branch_name> | grep -vE ‘^\*|master$|main$|milestone$|develop$’ | xargs -I % git branch -d %メインブランチにマージ済みのローカルブランチを全削除

<branch_name>には、メインブランチ名が入る

長いのでエイリアスにすることをおすすめする。

変更内容確認

コマンド内容補足
git diffステージングに追加(git addする)前に変更した箇所とステージングとの変更点が見たいとき
git diff –stagedステージングに追加(git addした)後かつコミット前の変更点が見たいとき
git diff –name-only <ブランチ名>差分が生じたファイルの、ファイル名の一覧を表示
git logコミット履歴を表示
git ls-files –others –exclude-standardgit管理外のファイル一覧

変更取消

git checkoutはワークツリーでの変更内容を全て元に戻すコマンドです。(ステージングから指定されたファイルを取得し、ワークツリーに反映させる)

コマンド内容補足
git checkout <filename>指定のファイルの変更取消ファイルの追加または削除の取り消しはできない
git checkout .全てのファイルの変更を取り消しファイルの追加または削除の取り消しはできない
Untracked filesの取り消し
untracked fileとは、前回のcommitの時点では存在しなかった新たに作成したfileかつgit addしてステージさせていないfileのことです。

コマンド内容補足
git clean -n対象外ファイルを確認(実行はされていない。)特になし
git clean -fカレントディレクトリのファイルを削除特になし
git clean -dfディレクトリも削除特になし

ステージング系

コマンド内容補足
git statusワークツリーとステージング、ステージングとリポジトリの変更内容を確認
git add .すべてのファイルをステージングへ追加
git add <filename>指定したファイルをステージングへ追加
git rm –cached -r <filename>全てのファイル取り消し初回時のみ
git rm –cached -r .特定のファイルのみ取り消し初回時のみ
git reset –hard HEAD^直前のcommitを取り消す
git reset HEAD <filename>指定ファイルのステージングへの追加を取り消す(2回目以降)リポジトリから最新のコミット内容(HEAD)を取得し、それでステージングの内容を上書きする。

ワークツリー投稿一覧も元に戻したい場合はgit reset HEAD の後にgit checktout をする必要がある

git reset HEADすべてのファイルのステージングへの追加を取り消す(2回目以降)リポジトリから最新のコミット内容(HEAD)を取得し、それでステージングの内容を上書きする。

ワークツリーも元に戻したい場合はgit reset HEAD の後にgit checktout をする必要がある

コミット系

git commit -m<message>コミットメッセージ付きでコミットに追加する
git commit –amend直前のコミットを取り消す現在のステージングの内容をもとに直前のコミットを上書きする

※リモートにpushしたコミット内容は絶対に取り消してはダメ。

git stash -uコミットしていない変更がある状態で上記のコマンドを実行すると、変更した部分が退避され、
ワークツリー上は差分がない状態になります。
addしたものもaddしていないものもどちらも退避される。
また、新規作成ファイル(追跡対象に含まれていないファイル)も退避することが可能
git stash list退避リストの一覧を確認できる
git stash apply stash名
現在チェックアウトしているブランチへ退避した変更が反映される。
変更を退避したときのブランチにも、それ以外のブランチにも戻すことが可能。
stash名 = stash@{0}など

なお、addしていた変更もaddされていない状態で戻る(stagedされていた変更もnot stagedととして戻る)ため、
addした状態そのままにもどしたいときは、上記のコマンドに--indexオプションを付けて実行する

git stash drop stash名退避した特定の作業を消すstashを使用して退避した作業を元に戻しても、退避した情報は残ったままなので、消す必要がある

※以下のコマンドで、退避作業をもとに戻しつつ、退避リストから削除することも可能

git stash pop stash名

git stash clear退避したすべての作業を消す

プッシュ

コマンド内容補足
git push origin <branch_name>指定したリモートリポジトリのブランチにローカルリポジトリの変更を追加する
-uで次回から origin masterを省略可(初回push時に行う)
git push -u origin master
// 直前のコミットを取り消してから
git reset –hard HEAD^// 強制的にPushする
git push -f origin master
pushの消去あまりお勧めしない。

プル

コマンド内容補足
git pull origin <branch_name>対象のブランチの内容が、「今いるブランチ」にmergeされる

 

コメント

タイトルとURLをコピーしました