質問: ### 前提・実現したいこと Gitのログを削除したい。commit idなど。または、ブランチの削除。 ### 発生している問題・エラーメッセージ Gitのログを削除する場合、 `git rebase -i` や `git reset --hard` 等で削除できると思いますが、マージされた後に、ログをまとめようと思って `git rebase -i` をし、まとめたいコミットで `squash` をしてもコミットはまとめられず新しく別れてしまうイメージになってしまいます。 ![イメージ説明](https://teratail.storage.googleapis.com/uploads/contributed_images/ff95787c7ff2bff1a21ea8c0e0749da8.png) 上記の `bbb` ブランチの3つのコミットのログを1つにするか、もしくわbbbのブランチ自体を削除したい。 また `bbb` ブランチを削除した場合は、下記のようになり、以前のログは残り続けます。 ![イメージ説明](https://teratail.storage.googleapis.com/uploads/contributed_images/aea6e5339beb5445556eaa1c2ae50063.png) ### 該当のソースコード ``` Git ``` ### 試したこと ブランチを削除してもログやcommit id などは残り続けます。 git rebase -i をしても、ログやcommit idは削除されず、新しく分岐された状態になります。 ### 補足情報(FW/ツールのバージョンなど) SourceTree 2.7.1 ここにより詳細な情報を記載してください。
回答: `git push -f`をすればできますが、よほどの事情がないのであれば基本的に**やるべきではありません**。 というのも、`origin/bbb`としてプッシュしてしまっている以上、それを書き換えることは**同じリポジトリからプルした全員のリポジトリを書き換える**必要が出てきてしまうからです。 gitのコミットは**前のコミットのハッシュが含まれる**という構造上、あるコミットを書き換えれば、それ以降のコミット**全てに影響します**。