たまに忘れるgitコマンドメモ


便利な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コマンドいろいろ知りたいです。教えてくださーい