コピペコードで快適生活

明日使えるソースを自分のために

gitでたまに使うコマンド集

たまにしか使わなくて、よく忘れるコマンドをメモしていく。

リモートリポジトリ系

# リモートリポジトリの変更
git remote set-url origin <新しいリポジトリURL>

# リモートリポジトリの追加
git remote add hogehoge <追加したいリポジトリURL>

# リモートリポジトリの削除
git remote rm hogehoge

# リモートリポジトリ名の変更
git remote rename <old_name> <new_name>

やりなおし系

# 間違ってaddしたやつを取り消す
git reset config/environments/development.js

# commitを打ち消し(逆向きのcommitをする)
git revert コミットのハッシュ値

# 直前のcommitをなかったことにする
# --hardオプション:コミット取り消した上でワークディレクトリの内容も書き換えたい場合に使用。
git reset --hard HEAD^

# 特定のコミットまで戻す
git reset --hard #{コミットハッシュ}

# 間違ってcommitしたものをステージ前まで戻す
git reset --soft HEAD^
git reset HEAD

# 直前のコミットの差分を見る
git diff HEAD^ HEAD

# ステージしたファイルと最新コミットの差分を見る
git diff --staged

# 直前のコミットメッセージを修正する
git commit --amend

タグ系

# タグを作る
git tag TAGNAME

# タグでブランチ切る
git checkout -b 1.6 refs/tags/v1.6

# タグ一覧
git tag

# タグの削除
git tag -d TAGNAME

# タグのpush
git push origin TAGNAME

# リモートのタグを消す
git tag -d TAGNAME
git push origin :TAGNAME

その他

# コミット間のファイル差分を出力する
# --statは編集量表示 / --name-onlyはファイル名のみ出力の意味
git diff --stat --name-only <コミットID A> <コミットID B>

# 大文字小文字の違いもファイル変更と認識させる
# Macで作業する時用
git config core.ignorecase false

# git add . で deletedが反映されない時
git add -u .