![見出し画像](https://assets.st-note.com/production/uploads/images/70021574/rectangle_large_type_2_4c77649661b5d618b34fdca494ceb4cc.png?width=1200)
よく使う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
以上