見出し画像

よく使うGitコマンド

背景

ちょっと開発から遠ざかったので、あらためてGit復習してみました。

コマンド

一からGitプロジェクト作成

$ git init {プロジェクト名}

既存プロジェクト(ディレクトリ)をGit管理

$ cd {既存ディレクトリ}
$ git init

既存Gitプロジェクトをクローン

$ git clone {GitプロジェクトURL}

ブランチ作成

$ git branch {ブランチ名}

チェックアウト

$ git checkout {ブランチ名}

ブランチ作成&チェックアウト

$ git checkout -b {ブランチ名}

ブランチ一覧(リモート含む)

$ git -a branch

ローカルのGit状況表示

$ git status

コミット

$ git commit -m "{コミットログ}"

プル

$ git pull origin(Gitリモート名) main(ブランチ)

プッシュ

$ git push origin(Gitリモート名) main(ブランチ)

ログ一覧オプション

$ git log --oneline/--graph/--name-status

指定のコミット情報表示

$ git show {コミットID}

gitが管理する資産一覧を表示

$ git ls-files

ファイル名の変更をGitで管理

$ git mv {変更前ファイル名} {変更後ファイル名}

ファイル名の削除をGitで管理

$ git rm {ファイル名}

ワークディレクトリの内容を破棄する

$ git checkout -- {ファイル名}

※git statusするとこのコマンドわかる

indexの内容をワークディレクトリに戻す

$ git reset HEAD {ファイル名}

※git statusするとこのコマンドわかる

指定ブランチをカレントブランチにマージする

$ git merge {指定ブランチ}

※カレントブランチに何も変更がない場合は、単純なfast-forward
※カレントブランチに変更はあるが、指定ブランチの変更と競合がない場合はauto merge
※カレントブランチの変更と指定ブランチの変更が競合した場合はconflictするので手動で競合を解消してコミットが必要

指定ブランチとの差分表示

$ git diff {カレントブランチ} {指定ブランチ}

stash (トラック済み資材のみ)

$ git stash

メッセージ付きstash (トラック済み資材のみ)

$ git stash save "{メッセージ}"

stash (未トラック含む)

$ git stash -u

stash (.gitignore対象も含む)

$ git stash -a

stash一覧

$ git stash list

特定のstash内容確認(未トラック資材は表示されない、@{0}が最新)

$ git stash show stash@{N} 

stash内容の戻し、stash内容削除(stash@{N}がなければ、最新を適用)

$ git stash apply [stash@{N}]
$ git stash drop [stash@{N}]

stash内容の戻しと削除をまとめて実施(stash@{N}がなければ、最新を適用)

$ git stash pop

.gitignoreのサンプル

https://github.com/github/gitignore

以上