🐡
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