小ネタ。
普段、自分のリポジトリを操作する際には、IntelliJ IDEAのIDE操作でGit操作し、RebaseやSquashでコミットログをきれいにしています。ただ、IntelliJ IDEAではデフォルトでmasterブランチをRebaseやSquashをできないように制御しています。
今回の記事では、masterブランチのprotectedを外してRebaseやSquashをできるようにします。
環境
- IntelliJ IDEA
- 2021.2.3
ゴール
IntelliJ IDEA上のGit操作でRebaseやSquashをできるようにする。
# エラーメッセージ The commit is already pushed to protected branch 'origin/master'
対応
Ctrl + Alt + s
でSettingsを開きますVersion Control
からGit
を開きますprotected branches
でブランチを保護しているので、適当なブランチ名に変更します
もし、保護ブランチを複数指定したい場合は、セミコロンでブランチ名を指定すると複数のブランチを保護できます。指定した内容は.idea/vcs.xml
に配備されているようです。
なお、GitHubで保護したブランチをローカルでも保護できるオプションもあります。「Load branch protection rules from GitHub」にチェックを入れてください。デフォルトでオンになっています。
終わりに
GitHubはデフォルトブランチ名がmain
ですので、この保護機能をすり抜けていました。ただ、GitLabではデフォルトブランチ名がmaster
のため、そこで保護機能にひっかかって少し戸惑ってしまいました。
「個人プロジェクトでもRebase・Squashは使うな」という話もあるかもしれません。しかし、コミットログが「WIP」で埋まっても仕方ないので、ある程度綺麗な変更にできたタイミングでSquashして、適切なコミットメッセージに変更しています。
今後も快適に開発できるように、色々と調べていきたいです。
この記事がお役に立ちましたら、各種SNSでのシェアや、今後も情報発信しますのでフォローよろしくお願いします。