PCを買い替えた際の、git,herokuの設定備忘録

プログラミング,webサービス開発記,RubyRuby,git,heroku

PCを買い替えてからずーっと放置していた問題が1つありました。

 

それは先日herokuで公開した「ちえのわ!」というwebサービスについてです。

 

PCを買い替えたことにより、新しいPCで開発を進めていきたいのですが、gitへ更新をコミットできない問題を抱えてしまいました。

 

今回その問題を解決できましたので備忘録として残していきたいと思います。

 

よろしくお願いいたします。

 

PCを買い替えた際の、git,herokuの設定備忘録

 

PCを買い替えたらコミットできない・・・

 

ことの発端は5年間使用していたSurface Pro3が故障したことでした。その時のことは以下に記事で残しています。

 

 

それはいいとして、git+herokuで開発をした自作のwebサービス「ちえのわ!」の更新(コミット)ができなくなってしまいました。

 

↓問題だったwebサービスちえのわ(今は更新できるようになりました)

 

備忘録

 

ssh接続の設定

 

私の認識ではcloneでgitプロジェクトをダウンロードすればコミットまでできると考えていましたが、そんなことが出来たらセキュリティガバガバってレベルではないですね。

ssh接続をまずgitとgit guiを使って設定する必要があります。

(詳細は以下)

 

今回詰まったのはssh接続設定後のエラーです。

 

エラー文

>git push heroku master

To https://git.heroku.com/----------------
! [rejected] master -> master (fetch first)
error: failed to push some refs to 'https://git.heroku.com/------'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

 

解決策

git push heroku master -f

 

結果として上記で対応できました。-fのオプションをつけただけ。

 

-fのオプションについて、簡単に言えば問答無用で上書きするオプションとのことです。

 

エラーの理由は、すでにコミットされているソースが、コミットしようとしているソースよりも新しいけど大丈夫ですか?という理由でした。

 

なので-fのオプションをつけると通ったのですね。gitは古いコードが上書きされることを注意してくれていたようです。(わかりにくいが)

 

確かに私がコミットしようとしていたコードは現行で公開されているものよりも古かったです。(gitからダウンロードしたはずなのだが・・・なぜこうなってしまったのかは不明。)

 

複数で開発しているわけでもありませんし、もしかしたらダウンロードした後、古いほうのPCで更新したかもしれません・・・記憶にはありませんが。

 

ですがエラー文にはそれとわかるような記述はなく、git pullしたりgit fetch したりと、余計なことをする羽目になってしまいました。

 

まさかオプションを一つつけるだけで解決してしまうとは・・・。

 

もし同じ原因でエラーになっている人がいたら、お役に立てれば幸いです。

 

参考サイト

 

↓大変参考になりました。ありがとうございます。

 

↓あまりにも解決に至らず途方に暮れていたので、もういっそのこと今のアプリは捨てて新しく作りなおそうかとも考えました。(結果として環境を引き継ぐことができたのでこの方法はとりませんでした。)

 

PCを買い替えたときのgit、herokuのやるべきこと

 

今後もPCを買い替えることはあるでしょうから、gitとherokuの設定手順を備忘録として残しておこうと思います。あくまで大まかな覚書ですので、穴はあるかと思いますが、ご参考までに。

 

 

インストールするもの

※環境はwindowsです。

・github

ダウンロードページ https://git-scm.com/

↓設定方法参考サイト

 

・heroku CLI

ダウンロードページ https://devcenter.heroku.com/articles/heroku-cli

↓設定方法参考サイト

 

ssh接続設定

 

gitやherokuをチームで開発する時用の設定ですが、PC買い替え時にも設定が必要です。

 

手順としては

  1. Git GUIを起動
  2. Helpタブから[show ssh key]を選択
  3. 右上の[generate key]を選択
  4. パスフレーズを2回入力(コミット時に聞かれる、めんどうであれば空欄のままでもよい)
  5. 生成された鍵をgitに設定

以下スクショ

 

 

 

 

生成された鍵をgitへ登録。

※私自身このあたりの理解度はあいまいです。

参考サイト

 

 

[adsense][adsense]

 

最後に

 

webサービス開発の初学者にとってはPCの買い替えは大きなハードルですね。

 

今回身に染みてわかりました。

 

地道な作業ですが、エラーを1つ1つ検索して解決の糸口を探るしかありません・・・。

 

この備忘録が誰かの役にたてれば幸いです。

 

以上です。

 

[adsense]