普段は SourceTree つかってるのでメモっておかないと忘れる
間違えてコミットしたファイルを取り消す
WebStorm の設定ファイル(.ideaディレクトリ)を間違えてコミットした場合
$ git rm -r --cached .idea $ git commit -m 'Discard idea files'
-r はディレクトリ指定、--cached は実際のファイルは削除せずにコミットからのみ消すオプション
コミットログを1行でみたい
通常、6行で表示されるためターミナルだとみにくい
$ git log --oneline
フォーマットを指定してコミットログをみたい
上記の --oneline だと日付が表示されないため不便
直接指定することができる - Git - コミット履歴の閲覧
$ git log --author="jnst" --date=iso --pretty=format:"[%ad] %h %an : %s" [2016-10-20 23:36:42 +0900] 29e5239 jnst : 3回目のコミット [2016-10-20 22:45:47 +0900] 4367df3 jnst : 2回めのコミット [2016-10-20 22:40:14 +0900] 04abbe8 jnst : 最初のコミット
リポジトリの最初のコミットがいつなのか知りたい
git log の --reverse を使うことで確認できる
$ git log --reverse --date=iso --pretty=medium
ローカルリポジトリのユーザー名を変更
global のユーザーではなく、local のユーザーを設定してコミットしたい場合
$ git config --local user.name 'jnst' $ git config --local user.email 'jnst@example.jp'
確認
$ git config --local --get user.name $ git config --global --get user.name
自分の PC 上だけで全適用されるグローバルな .gitignore をつくる
Using Git / Ignoring files
リポジトリの .gitignore ではなく、自分の PC だけで適用されるグローバルな .gitignore を用意した方が良いケースがある。
例えば Node.js のプロジェクトで、自分は WebStorm で開発しているから「.idea」ディレクトリを除外したい。しかし他のメンバーも WebStorm で開発しているとは限らない。内輪で開発してるプロジェクトなら .gitignore に追記して push すれば良いが、公開されていて誰でもプルリクできるプロジェクトの場合は、環境固有の設定をコミットすべきではない。
$ git config --global core.excludesfile ~/.gitignore_global $ vi ~/.gitignore_global
git コマンドのカラー表示
git status とかしたときに文字列が配色されて表示されるようになる
$ git config --global color.ui true
うっかり消滅させたコミットを復元
gitreflog を使うと一覧にでてくるのでそこで見つけたコミットからブランチを作成する
$ git reflog $ git branch recover-branch 'HEAD@{13}'