🦔

Gitコマンドチート集

2023/06/13に公開

このページでは、Gitコマンド一覧を記述します。

リポジトリの作成と設定

git init

空のGitリポジトリを作成します。

git clone <リポジトリURL>

リモートリポジトリを複製して、ローカルリポジトリを作成します。

git config --global user.name <ユーザ名>

ユーザ名を設定します。

git config --global user.email <メールアドレス>

メールアドレスを設定します。

ブランチの操作

git branch

ブランチの一覧を表示します。

git branch <ブランチ名>

新しいブランチを作成します。

git branch -d <ブランチ名>

ブランチを削除します。

git checkout <ブランチ名>

指定したブランチに切り替えます。

変更の追跡とステージング

git status

リポジトリの状態を表示します。

git add <ファイル名>

指定したファイルをステージングエリアに追加します。

git add .

変更されたすべてのファイルをステージングエリアに追加します。

git reset <ファイル名>

ステージングエリアから指定したファイルを削除します。

git reset

ステージングエリアの変更をすべて取り消します。

コミット

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

ステージングエリアの変更をコミットします。

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

ステージングエリアに追加されたすべての変更を含めてコミットします。

変更の取り消し

git checkout -- <ファイル名>

指定したファイルの変更を取り消します。

git reset --soft HEAD^

// windowsの場合
git reset --soft "HEAD^"

直前のコミットを取り消します。ステージングに変更履歴が残る。

git reset --mixed HEAD^

直前のコミットを取り消します。作業ディレクトリのみ変更履歴が残る。

git reset --hard HEAD^

直前のコミットを取り消します。作業ディレクトリからも変更履歴を削除。

git reset HEAD <ファイル名>(指定しない場合全ファイル)

ステージングエリアから指定したファイルを取り消します。
オプションを指定しないと「--mixed」が指定されるため、結果ステージングの変更を戻すことができる。

git reset --soft origin/現在作業中のブランチ名

リモートリポジトリにプッシュしていないローカルのすべてのコミットをステージングに戻します。

git commit --amend

直前のコミットに現在のステージングエリアの変更分を追加してコミットを上書き。

リモートリポジトリ

git remote add <リモート名> <リポジトリURL>

リモートリポジトリを追加します。

git remote -v

登録されたリモートリポジトリの一覧を表示します。

git push <リモート名> <ブランチ名>

ローカルのコミットをリモートリポジトリにプッシュします。

git pull <リモート名> <ブランチ名>

リモートリポジトリから最新の変更を取得してマージします。

リモートリポジトリの操作とマージ

git fetch <リモート名>

リモートリポジトリから最新の変更を取得します。

git merge <ブランチ名>

指定したブランチを現在のブランチにマージします。

git pull <リモート名> <ブランチ名>

リモートリポジトリから最新の変更を取得してマージします。
git pullだけでも問題ない。fecthしてmergeするのを1つにしたコマンド。

git push <リモート名> <ブランチ名>

ローカルのコミットをリモートリポジトリにプッシュします。

リモートリポジトリの管理

git remote add <リモート名> <リポジトリURL>

リモートリポジトリを追加します。

git remote -v

登録されたリモートリポジトリの一覧を表示します。

git remote rename <旧リモート名> <新リモート名>

リモートリポジトリの名前を変更します。

git remote remove <リモート名>

リモートリポジトリを削除します。

マージとリベース

スタッシュ

履歴の確認

git log

コミットログを表示します。

git log --oneline

コミットログを短い形式で表示します。

git diff

作業ツリーとステージングエリアの差分を表示します。

git diff --cached

ステージングエリアとリポジトリの最新コミットの差分を表示します。

git log --graph

コミットログをグラフ形式で表示します。

git blame <ファイル名>

コードの各行の編集履歴を表示します。

参考文献

・chatGPT

Discussion