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
復旧方法は以下.
- 復旧したいリポジトリとは別のディレクトリにgit clone.
- cloneして取得した .gitのみを壊れたリポジトリにコピー.