🐡
git memo
| 用語 | 解説 |
|---|---|
| trackファイル / untrackファイル | gitの管理下にある / ない |
| 追跡(リファレンス)ブランチ | リモートリポジトリの情報をみているブランチ(リアルタイムで反映されないので実際のリモートリポジトリと差分が出ることがある)fetchで更新する |
| ワーキングディレクトリ/staging/ローカルリポジトリ間のやりとり | コマンド |
|---|---|
| リセット | |
| add前でワーキングディレクトリでの変更をキャンセル (ファイル指定) | git restore [ファイル名] |
| add前でワーキングディレクトリでの変更をキャンセル (一括) | git reset |
| add済でstagingにある変更をキャンセル (ファイル指定) | git restore --staged [ファイル名] |
| 削除反映 | |
| rmや手での削除をstagingに反映 | rm [ファイル名] => git add -A |
| ↑これを一発で(unstackファイルやstagingに作業内容があるとできない) | git rm [ファイル名] |
| git管理から削除したいがファイルは消したくない | git rm --cached [ファイル名] |
| git管理から削除したいがファイルは消したくない | git rm --cached [ファイル名] |
| 追跡ブランチ操作 | コマンド |
|---|---|
| 追跡ブランチの確認 | git branch -r |
| ローカルブランチも追跡ブランチも確認 | git branch -a |
| リモートリポジトリの情報を追跡ブランチに取得 | git fetch |
| ↑リモートの変更や追加は反映するが、削除は反映されず追跡ブランチに残る | |
| 削除されたリモートのブランチの情報も追跡ブランチに反映 | git fetch --prune |
| リモートブランチ操作 | コマンド |
|---|---|
| リモートブランチ接続 | git remote add [リファレンス名] [ブランチ名] |
| リモートブランチ削除 | git branch rm [リファレンス名] |
| リモートブランチ確認 | git branch -v |
| ログ操作 | コマンド |
|---|---|
| ログ確認 | git log |
| ログをシンプルに確認 | git log --oneline |
| ログの関係を線で結ぶ | git log --graph |
| ↑ブランチが枝分かれすると表示されなくなる | |
| 枝分かれした全てのブランチ表示 | git log --all |
| 枝分かれ含めシンプルに線引いて表示 | git log --oneline --all --graph |
| コミットの詳細を確認 | git show コミット番号(git logで確認) |
| ブランチ操作 | コマンド |
|---|---|
| remoteのurl変更 | git remote set-url origin {new url} |
| 削除 | |
| marge済ブランチを削除 | git branch -d [ブランチ名] |
| ブランチ強制削除 | git branch -D [ブランチ名] |
| コピー | |
| ブランチをコピー | git checkout -b [Newブランチ名] |
| diff操作 | コマンド |
|---|---|
| ワーキングディレクトリとstaging | git diff |
| ワーキングディレクトリとHEAD | git diff HEAD |
| stagingとHEAD | git diff --staged HEAD |
| HEADと前のコミット | git diff HEAD^ HEAD |
| HEADと2個前のコミット | git diff HEAD^^ HEAD |
| Merge前の2つのコミットの片方 | git diff HEAD^1 HEAD |
| Merge前の2つのコミットのもう片方 | git diff HEAD^2 HEAD |
|submodules操作|コマンド|
|submoduleも合わせてclone|git clone --recurse--submodules|
|その他|コマンド|
|コミットメッセージの修正|git commit --amend -m "修正"|
git branchででた一覧がqを押すと全部きえちゃうあれ、pagerという機能らしい
一覧はcatみたいに出したまんまにしたい
git config --global core.pager cat
Discussion