Git Emoji Prefix

git commit messageのprefixに絵文字をつかってテンションを上げようという流行.

gitmoji というOSSなど支援ツールもあるものの, 絵文字の種類が多すぎて覚えられないし不要なものもある.

そのため独自ルールを設定して運用する. 大事なのは決められたルールで統一することなので.

wikiの都合上, unicodeとgithubの両方の絵文字を記載.

  • 🎉init: はじめてのコミット(:tada:)
  • ✨feat: 新しい機能追加(:sparkles:)
  • 🔥fix: バグ修正(:flame:)
  • 💪improve: 機能改善(:muscle:)
  • 🎨refactor: リファクタリング(:art:)
  • 📝docs: ドキュメント修正(:pencil:)
  • ✅test: テスト, 評価(:white_check_mark:)
  • 🔨chore: 雑務(:hammer:)
  • 🐥wip: 取り掛かり中(:hatched-chick:)
    • 動物なら何でもいい
  • 💥refactor: 破壊的変更(:boom:)

git submodule

外部の git リポジトリを自分の git リポジトリのサブディレクトリとして登録し、特定の commit を参照する仕組み.

逆引きgit: hotto

gitの操作であれどうやるのをまとめていく.

howto: gitのローカルのブランチ名を変更したい

古いブランチ名から新しいブランチ名に変更.

$ git branch -m <古いブランチ> <新しいブランチ>

今開いているブランチをリネーム.

$ git branch -m <新しいブランチ>

直前に変更したファイルのリストを取得

ローカルのコミットの差分.

$ git diff HEAD^ --name-only

git pushする前にリモートブランチとローカルの差分

$ git diff origin/main..HEAD --name-only

git pullする前にリモートブランチとローカルの差分

$ git diff HEAD..origin/main --name-only

Git でユーザー名とメールアドレスを設定する方法

~/.gitconfigを作成して以下を記述.

[user]
        name = tsu-nera
        email = xxxxxx@gmail.com

git トラブルシューティング

✅git pullで obejct file is empty/loose object is corrupt発生

Dropboxに入れているgitリポジトリで頻繁に発生する.

error: object file .git/objects/a1/185de9c19ef9a6b3895253ddfe5d7d0hogehoge is empty
fatal: loose object a1185de9c19ef9a6b3895253ddfe5d7dhogehoge (stored in .git/objects/a1/185de9c19ef9a6b3895253ddfe5d7hogehoge) is corrupt

復旧方法は以下.

  1. 復旧したいリポジトリとは別のディレクトリにgit clone.
  2. cloneして取得した .gitのみを壊れたリポジトリにコピー.