LoginSignup
3
2

More than 5 years have passed since last update.

gitコマンドTips

Last updated at Posted at 2017-04-28

addとcommit

git add -u

-uつけると更新されたオブジェクトを全てaddするが新規ファイルはaddしない

git add -A

-Aつけると更新されたオブジェクトと新規ファイルを全てadd

git commit -a

更新されたオブジェクトのコミット。add -u / commitのショートカット

git log --all --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative

このログをaliasにすると完璧。

取り消し・リセット

いろんな状況に応じて、適切なやり直し方がある。
超まとまってるサイト↓
gitでアレを元に戻す108の方法
さっきの取り消したい!って時のGitコマンドまとめ


git checkout ファイル名`

add前の作業ツリー内の変更の取り消し
=最新のコミット状態からやり直し

git checkout HERD ファイル名

add後commit前の変更の取り消し

git commit --amend -a -m '〇〇'

--amendは、直前のコミットを訂正する。
=新しくコミットするのではなく、直前のコミットを置き換える
※ログメッセージの変更が必要ない場合、-C HEADオプションを指定。

git reset HEAD~2
または
git reset HEAD^^

2個前のコミット状態に戻る。1個前だったら、HEAD~1 もしくは HEAD^となる。
なお、ワーキングツリーの状態は変更されない。プロジェクトの歴史を消すことになるので、実行には注意が必要。
--hardオプションをつけるとワーキングツリーすらそのコミット状態に同期される。怖いコマンド。
ただ、ワーキングツリーのファイルを謝って削除してしまった場合は

git reset --hard HEAD

ですぐに元どおりになる。

.gitconfigファイルの設定

以上にあげたオプションを頻繁に利用する場合は、いちいち打つ(orコピペする)のが面倒であるため、~/.gitconfigファイルにaliasとして登録すればいい。

参考:
- gitで便利なエイリアス達
- その他の.gitconfigファイルの設定のすすめ
- RevertとBlameを使いこなして安全性の高い開発を推進しよう
- gitコマンドチートシート
- git tagの使い方まとめ

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2