今日のお勉強。180607-git
バージョン管理ツールGit
Git
こわくないGit によると、
・rebaseで作られたコミットは、内容は同じでも別物。
リモートリポジトリにpushした時、内容が同じでも「別物じゃん!」と判断されて拒否されるおそれがある。
・rebaseはmergeの記録は残らないので、mergeする前にrebaseはOKなことも。プルリクエストの時は、rebaseしてから送った方がいいそうです。
・push済みのブランチをリベースしてはならない
rebaseは、コミットの歴史を綺麗に整理してくれますが、
どこかで差し支えてしまうおそれがあることを知りました。
Gitの仕組み では、
・ .git に含まれている大事なものは、Gitオブジェクト、リファレンス、インデックス、ログ、設定。
・gitは大きなツリー構造になってる。
・gitのオブジェクトのIDは、SHA1という関数で作られる(40文字)
など、色々知ることができました。