LoginSignup
3
3

More than 5 years have passed since last update.

rake releaseでコミットを先にしろと怒られた時の対応

Posted at

現象

gemの修正が終わり,Githubに一度pushした状態。
rake releaseでタグ打ちとRubygemsへのアップロードをしようとすると、次のエラーが出た。
修正は終わって、pushしているのでもうコミットすべきファイルはないはず…

$ rake release
ansible_spec 0.0.1.2 built to pkg/ansible_spec-0.0.1.2.gem.
rake aborted!
There are files that need to be committed first.
/Users/Adr/.rvm/gems/ruby-1.9.3-p194@global/gems/bundler-1.3.5/lib/bundler/gem_helper.rb:115:in `guard_clean'
/Users/Adr/.rvm/gems/ruby-1.9.3-p194@global/gems/bundler-1.3.5/lib/bundler/gem_helper.rb:75:in `release_gem'
/Users/Adr/.rvm/gems/ruby-1.9.3-p194@global/gems/bundler-1.3.5/lib/bundler/gem_helper.rb:50:in `block in install'
/Users/Adr/.rvm/gems/ruby-1.9.3-p194/bin/ruby_noexec_wrapper:14:in `eval'
/Users/Adr/.rvm/gems/ruby-1.9.3-p194/bin/ruby_noexec_wrapper:14:in `<main>'
Tasks: TOP => release
(See full trace by running task with --trace)
MBA:ansible_spec Adr$

原因

ステージングにかかわらず、未コミットのファイルがあると起こる。

実は別件でadd前の編集中のファイルがあった。
確かにcommitしていないが、でもaddしていないのでステージングもされていないのでは。。
addとは無関係にcommitされていないファイルがあると無条件にダメなのか?

MBA:ansible_spec Adr$ git st
# On branch master
# Changes not staged for commit:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#   modified:   lib/ansible_spec.rb
#
no changes added to commit (use "git add" and/or "git commit -a")

解決策

未コミットのファイルを一旦checkoutで元に戻すと、rake releaseを実行できる。
この対応で良いのか分からず、理解できてないところもあるけど、取り敢えず今後は気をつける。
どなたか別の解決策・注意点をご存知でしたら教えて下さい。。。

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3