hotoolong's blog

プログラムのことやエンジニアリングに関することを記事にしています。

rake release で エラーがでた

イントロ

以前の記事でembed_callbacksを作成したと取り上げたのですが、
その中でRubyGemsでユーザ登録に失敗してたのですが、
サポートの人に対応していただきメールアドレスを変更していただきました。

これでやっと登録できるなと思って登録してみたのですが少しトラブルにあったのでこちらに記載しておきます。
ちなみに登録したgemのアドレスは以下になります。
これでgem install とインストール可能になるのでとてもいい気分です。

rubygems.org

遭遇したエラー

rake releaseしたときに既存のブランチとupstream branchが違うよと指摘された内容になります。

$ rake release
embed_callbacks 0.1.0 built to pkg/embed_callbacks-0.1.0.gem.
Tagged v0.1.0.
Untagging v0.1.0 due to error.
rake aborted!
Couldn't git push. `git push ' failed with the following output:

fatal: The upstream branch of your current branch does not match
the name of your current branch.  To push to the upstream branch
on the remote, use

    git push origin HEAD:trunk

To push to the branch of the same name on the remote, use

    git push origin HEAD

To choose either option permanently, see push.default in 'git help config'.

/Users/hotoolong/.rbenv/versions/2.7.0/bin/bundle:23:in `load'
/Users/hotoolong/.rbenv/versions/2.7.0/bin/bundle:23:in `<main>'
Tasks: TOP => release => release:source_control_push
(See full trace by running task with --trace)

git init してはじめに変更したブランチがtrunkでした。
BLM運動がきっかけてmasterはどうなのかという話がありdefault branch名をどうするか決めかねていたときに以下のコマンドでtrunkにしました。

git branch --set-upstream-to=origin/trunk

その後 github上でmainにしようという流れになっていた(以下のリンク)のでmainに変更していました。

GitHub - github/renaming: Guidance for changing the default branch name for GitHub repositories

git branch -m trunk main
git push -u origin main

ただ、upstreamの設定がそのままになっていたようです。

解決方法

git config -e

してtrunkをmainに置き換えてしまいました。 これで再度rake release するとうまくいきました。 よかったです。