よく使うGitコマンド

リポジトリ

git restore, git clean 作業ディレクトリをクリーンにする

git restore .   # trackedで変更済のファイルを直前のコミットの状態に戻す
git clean -xdf  # untrackedなファイル、ディレクトリを削除
-x:

.gitignore対象のファイルを含めたファイルを削除する

-d:

untrackedなディレクトリを削除する

-f:

強制的に削除する

ブランチ

git branch -vva ブランチを確認する

git branch -vva
===
* main                  xxxxxxx [origin/main: behind 203] <LOG>   # ローカルブランチ。*は現在のブランチ。
remotes/origin/HEAD     -> origin/main  # リモートリポジトリoriginのデフォルトブランチ
remotes/origin/main     yyyyyyy <LOG>
===

git switch ブランチを切り替える

git switch <LOCAL_BRANCH_NAME>

git switch --track リモートブランチを追跡するローカルブランチをリモートブランチ名で作る

git switch --track <SOURCE_BRANCH_NAME>

# 例: remotes/origin/mainからブランチを作る
git switch --track remotes/origin/foo
git branch -vva
====
foo     # これができる
remotes/origin/foo
====

git switch -c リモートブランチを追跡するローカルブランチを作る

git switch -c <LOCAL_NEW_BRANCH_NAME> <SOURCE_BRANCH_NAME>

# 例: remotes/origin/mainからブランチを作る
git switch -c new_branch remotes/origin/main
git branch -vva
====
new_branch     # これができる
remotes/origin/main
====

Git 2.23以前

# git branchで作る場合
git branch <LOCAL_NEW_BRANCH_NAME>
git branch <LOCAL_NEW_BRANCH_NAME> <SOURCE_BRANCH_NAME>

# git checkoutで作る場合
git checkout -b <LOCAL_NEW_BRANCH_NAME>
git checkout -b <LOCAL_NEW_BRANCH_NAME> <SOURCE_BRANCH_NAME>

git branch -d ローカルブランチを削除する

git branch -d <LOCAL_BRANCH_NAME>

git remote -v リモートリポジトリを確認する

git remote -v
===
origin  <REMOTE_REOPSITORY_URL> (fetch)
origin  <REMOTE_REOPSITORY_URL> (push)
===

git push リモートリポジトリにpushする

git push <REMOTE_REPOSITORY_NAME> <BRANCH>

# 例
git push origin main    # リモートリポジトリoriginのmainブランチにpush

git log --oneline --graph --decorate=full コミットログを表示する

git log --oneline --graph --decorate=full
--oneline:

1つのコミットを1行で表示する

--graph:

グラフ表示にする

--decorate=full:

ローカルとリモートのブランチ、タグ、HEADの位置を表示

git restore add前の変更ファイルを巻き戻す

  • ステージング前の変更ファイルの変更を巻き戻す

# サブディレクトリを含むディレクトリ配下の全てのファイル巻き戻す
git restore .

# 指定のファイルを巻き戻す
git restore <FILENAME>

Git 2.23以前

# 全ての変更を巻き戻す
git checkout -- .

# 指定のファイル巻き戻す
git checkout -- <FILENAME>

git restore --staged add済のファイルのaddを解除する

  • ステージ済のファイルをアンステージする

git restore --staged <FILENAME>

Git 2.23以前

git reset HEAD <FILENAME>