便利なGitコマンドは沢山あるが、普段使わないと書き方を忘れてしまう…💧
✨僕的によく使うgitコマンドを随時メモとして残していきます。✨
add, commit系
空コミットを作る
--allow-empty
を付けることで空コミットを作ることができます。何もaddしなくて大丈夫です👌
git commit --allow-empty
コミットメッセージを含めるときは -m "<コミットメッセージ>"
を付けます。
git commit --allow-empty -m "<コミットメッセージ>"
差分をブロック単位でaddする
何も機にせずgit add
すると、ファイル単位でのaddされますが、-p
を付けてaddすると、ブロック単位でaddすることができます。
git add -p
説明しづらいのこちらを見て試してみてください…
参考:Gitの便利な-pオプション四兄弟 - エンジニアをリングする
push系
現在いるブランチをリモートにプッシュする
現在いるブランチ名を指定するのが普通だけど、HEAD
に置き換えれば現在いるブランチをリモートにプッシュすることができる。便利👍
git push origin HEAD
リモートのブランチを削除する
--delete
もしくは:
を付けることで、リモートにあるブランチを削除することができます。間違って別の人のブランチを消さないように要注意…🙅
git push --delete origin <ブランチ名>
git push origin :<ブランチ名>
強制的にプッシュする
-f
を付けることで強制的にリモートへプッシュすることができます。
やめたほうがよい…💀
怒られるのでやめましょう💢💢💢
git push -f origin <ブランチ名>
diff系
リモートブランチにあるファイルとローカルブランチの差分を表示する
git diff
を工夫することで、リモートブランチとローカルブランチのファイルを比較することができます。
git diff remote/origin/<リモートブランチ名>:<ファイル名> <ローカルブランチ名>:<ファイル名>
<ローカルブランチ名>
をHEAD
にすると、ローカルのHEAD
位置との比較ができます。
git diff remote/origin/<リモートブランチ名>:<ファイル名> HEAD:<ファイル名>
checkout系
作業をやり直す
ブランチを切り替えるあのコマンドで、今さっきの作業内容やっぱり無いな…と思った時に作業内容をなかったことにすることができます。
すべてのファイルの作業内容を取り消したい時
git checkout .
特定のファイルの作業内容を取り消したい時
git checkout <ファイル名>
fetch系
リモートブランチで削除されたブランチをローカルブランチでも削除する
git fetch
といえばリモートリポジトリの変更をローカルリポジトリへ取り込むコマンドですね。
それに--prune
もしくは-p
をつけると、リモートリポジトリで削除されたブランチをローカルリポジトリでも削除してくれます。
git fetch --prune
git fetch --p
緩募
面白いGitコマンドいろいろ知りたいです。教えてくださーい