目次
1.はじめに
2.概要
3.実行したこと
4.おわりに
5.参考
はじめに
こちらは、個人の学習記事になります。以下の点をご承知おき下さい。
- 学習中の内容になります。必要に応じて都度加筆・修正致します。
- 出来る限り正しく記載するよう努力致しますが、間違い、ミスも御座います。コメントにてご指摘、アドバイス頂けたら幸いです。
- 二次情報としての使用は推奨致しません。ご了承ください。
概要
ふと、コミット履歴を確認した時、コメントが「〇〇の変更」とか「△△の実行」とか言葉足らずだったり、GitHub上の差分を見てもコメントとなんの整合性もなくて「ハァ…?」ってなっちゃったので調べました。
どうしてもGitのコミット履歴(git log)を綺麗にしたい場合。チームや共同で開発する場合は非推奨、扱い注意。学習や個人開発で整理したくなったりした場合にでも。
実行したこと
次のコマンドを順に実行しました。
git checkout --orphan tmp
git commit -m "Initial Commit"
git checkout -B master
git branch -d tmp
1.git checkout --orphan tmp
orphan オプションによって、独立した(親を共有していない)ブランチを切ることができる。ブランチを完全に切り分ける。
2.git commit -m "Initial Commit"
独立している tmp
ブランチにコミット。tmp
上ではこれが最初のコミットとなる。
3.git checkout -B main
B オプションで main
ブランチを上書き。この時点で main ブランチは先程の1コミットログだけが残る。
4.git branch -d tmp
tmpブランチは空になり必要なくなったので、消す。
コマンドログ
1.git checkout --orphan tmp
Mac:documents ryojigoto$ git checkout --orphan tmp
Switched to a new branch 'tmp'
2.git commit -m "Initial Commit"
Mac:documents ryojigoto$ git commit -m "Initial Commit"
[tmp (root-commit) 4dda201] Initial Commit
2 files changed, 5 insertions(+)
create mode 100644 README.md
create mode 160000 src
3.git checkout -B main
Mac:documents ryojigoto$ git checkout -B main
Switched to and reset branch 'main'
4.git branch -d tmp
Mac:documents ryojigoto$ git branch -d tmp
Deleted branch tmp (was 4dda201).
最後にgit log --onelone
で確認して"Initial Commit"
だけになっていたので、大丈夫そうです。
おわりに
学習始めの時は、とにかくコミットもプッシュも「出来れば問題ないだろ!!!」なんて考えていましたが、段々履歴を確認するにも「このコミットは一体何の為にやったの?」とか「何を意識して学習に取り組んでいたんだ?」と思うようになり、今回無理やりやったというのが経緯です。GitもGitHubもぐちゃぐちゃになっていたので、今後は日頃から丁寧に記録を残していかねば。と自覚するきっかけになったのでよかったです。