きり丸の技術日記

技術検証したり、資格等をここに残していきます。

IntelliJ IDEAでmasterブランチをrebaseしようとしたらprotectedされていた【Git操作】

小ネタ。

普段、自分のリポジトリを操作する際には、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をできるようにする。

f:id:nainaistar:20220322230259p:plain

# エラーメッセージ
The commit is already pushed to protected branch 'origin/master'

対応

  1. Ctrl + Alt + sでSettingsを開きます

  2. Version ControlからGitを開きます

  3. protected branchesでブランチを保護しているので、適当なブランチ名に変更します

f:id:nainaistar:20220322230311p:plain

もし、保護ブランチを複数指定したい場合は、セミコロンでブランチ名を指定すると複数のブランチを保護できます。指定した内容は.idea/vcs.xmlに配備されているようです。

なお、GitHubで保護したブランチをローカルでも保護できるオプションもあります。「Load branch protection rules from GitHub」にチェックを入れてください。デフォルトでオンになっています。

終わりに

GitHubはデフォルトブランチ名がmainですので、この保護機能をすり抜けていました。ただ、GitLabではデフォルトブランチ名がmasterのため、そこで保護機能にひっかかって少し戸惑ってしまいました。

「個人プロジェクトでもRebase・Squashは使うな」という話もあるかもしれません。しかし、コミットログが「WIP」で埋まっても仕方ないので、ある程度綺麗な変更にできたタイミングでSquashして、適切なコミットメッセージに変更しています。

今後も快適に開発できるように、色々と調べていきたいです。


この記事がお役に立ちましたら、各種SNSでのシェアや、今後も情報発信しますのでフォローよろしくお願いします。

参考情報