[落書きメモ] よく使う(?)gitコマンド
(たまに|よく)使うけど忘れそうなコマンドの自分用メモ。
git config
gitconfig置き場は3種類あって、system, global, localの順に呼ばれて上書きされるっぽい
現在の設定を確認
git config (--system|--global|--local) -l
設定例
git config (--system|--global|--local) user.name "user_name"
git config (--system|--global|--local) user.email "user_email"
リポジトリ
リポジトリの確認
git remote -v
リモートの設定
git remote add origin [repo URL]
コミット
直前コミットの上書き
git commit --amend
直前コミットの上書き(コミットメッセージそのまま)
git commit --amend --no-edit
diff
差分ファイルの一覧
git diff [target] --name-only
GUIツール
git difftool -y [diff_target]
ブランチ
ローカルブランチを作る(-tオプションで追跡ブランチを指定できる)
git checkout -b [new_branch] -t origin/[track_branch]
branchコマンドでも可
git branch [branch_name] origin/[track_branch]
(developブランチを基点とした)フィーチャーブランチの作成
git checkout -b feature/[new_feature_branch] develop
既存のローカルブランチに追跡ブランチを設定する(設定したいローカルブランチにいる状態で)
git branch -u origin/[track_branch]
プッシュ時に設定することもできる
git push -u origin [track_branch]
ローカルブランチ、ローカルブランチに紐付いてる追跡ブランチ、リモート追跡ブランチを確認
git branch -a -vv
削除済みリモートブランチの追跡ブランチの削除(-nオプションつけると、削除は行わず確認だけできる)
git remote prune origin
git (fetch|pull) --prune
でもOK
ローカルブランチの削除
git branch -d [branch_name]
リモートブランチの削除
git push --delete origin [branch_name]
変更の一時退避
変更内容を一時退避(コメントを省略する場合はgit stash
だけでOK)
git stash save "comment"
stashの一覧
git stash list
stashの復元(popするとstashリストから消える)
git stash pop 'stash'
変更取消
workingの変更取り消し
git checkout -- [file_name]
git checkout -- .
stageに上げた変更をworkingに戻す
git reset HEAD [file_name]
git reset HEAD .
元に戻す系のコマンドはあまり使ったこと無いので、git reset (--hard) HEAD^
とかgit reflog
とかの使い方はまだ詳しくは知らない。
svn export的なやつ
デフォルトではtarでアーカイブされるようなので、windowsではzip指定すると良い
git archive --format=zip branch_name -o export.zip
~/.gitconfig
コマンドじゃないけど。至って普通な感じだと思う。
[user] name = hoge email = fuga@piyo [core] editor = subl --wait quotepath = off [color] ui = auto [push] default = simple [diff] tool = WinMerge guitool = WinMerge [difftool "WinMerge"] path = 'C:/Program Files/WinMerge/WinMergeU.exe' cmd = \"C:/Program Files/WinMerge/WinMergeU.exe\" -e -ub -dl \"Base\" -dr \"Mine\" \"$LOCAL\" \"$REMOTE\" [merge] tool = P4Merge [mergetool "P4Merge"] path = "C:/Program Files/Perforce/p4merge.exe" cmd = \"C:/Program Files/Perforce/p4merge.exe\" \"$BASE\" \"$LOCAL\" \"$REMOTE\" \"$MERGED\" keepTemporaries = false [credential] helper = wincred [alias] s = status b = branch l = log --graph --oneline --decorate ch = checkout cm = commit
今年の3月くらいから業務でgitを使うようになり、ようやく小慣れてきたかなーといった感じです。 はじめた当初はSourceTreeを使っていましたが、最近はGitBash on cmderでコマンドガチャガチャ叩いて格好つけたりしています。