【git】他人が作ったリモートブランチが見えないときは

共同で開発している方に、
(*´ω`*)<「fuwa っていうブランチをgithubにつくっといたからそこにコミットしといてー」
なんて言われることはよくあると思います
ですがリモートブランチを確認するためにgit branch -r しても、、、

$ git branch -r
  origin/master

その、、fuwaなんてブランチがないΣ(゜Д゚)
ってときは焦らず git fetch。

$ git fetch origin(←リモートブランチの名前)
 * [new branch]   fuwa -> origin/fuwa
    (以下略)
$ git branch -r
  origin/master
  origin/fuwa

ってことでちゃんと表示されるようになります(!)。

                                                  • -

実際の作業では、上記fuwaに対して以下のようにコミットすることになります。
ローカルブランチfuwaにチェックアウト

$ git checkout --track -b fuwa origin/fuwa
Branch fuwa set up to track remote branch fuwa from origin.

(--trackオプションがポイントです。fuwaブランチに、リモートブランチoriginのfuwaをセットしたよって出るので成功♫)

fuwaを更新

$ git pull

修正してコミット

$ git commit -a -m 'add fuwafuwa codes'
$ git push origin fuwa

(pushするときはリモートブランチのfuwaをセットしなくてよいのがポイント。checkout時点で--trackオプションでfuwaを指定していますから。)

これでOkです。

【Heroku】コマンドラインでDBにアクセスする(rails dbconsole する)

herokuで生SQLを叩きたい場合です。

heroku-sql-consoleというプラグインを使います。
URL:https://github.com/ddollar/heroku-sql-console

$ heroku update

した上で

$ heroku plugins:install git://github.com/ddollar/heroku-sql-console.git

して、

$ heroku sql --app APPLICATION_NAME

すると、heroku にrails dbconsole したのと同じ状態で接続できます。

【Rails3】PaperClip & Amazon S3で、日本語ファイル名が使えない問題を解決する

PaperClipはRailsでアップロードするための便利ライブラリです。
(func09さんの言葉を借りると「便利すぎて鼻血がでそう」)
参考URL:
http://www.func09.com/wordpress/archives/674

保存先にAmazonS3も使えて大変便利なのですが、
日本語ファイルをアップロードしようとするとエラーとなってしまいます(Ver.3.0.2で確認)。

デバッグしたところ次のモンキーパッチをすれば動くようですので、公開してみます。
自分の開発しているアプリに、以下のコードを書けばおkです(`・ω・´)シャキーン

RAILS_ROOT/config/boot.rb

module Paperclip
  class UploadedFileAdapter
    def inspect
      '='
    end
  end
end

(キリッ

PaperclipがAmazonS3にファイルをアップロードする際、aws-sdkというライブラリからUploadedFileAdapterのインスタンスのinspectメソッドがコールされるのですが、この際に日本語が含まれていると例外が発生するようです。なので、とりいそぎinspectが日本語を含まない '=' を返却することで、この問題を回避しました。


使ってるライブラリに手を入れなくても修正できて、
Rubyって本当に素晴らしいですねえ(何

【Rails3】rakeタスク一覧を表示する

いつも忘れちゃうのでメモ。。(´・ω・`)

$ rake --task


rake about                             # List versions of all Rails frameworks and the environment
rake assets:clean                      # Remove compiled assets
rake assets:precompile                 # Compile all the assets named in config.assets.precompile
rake bourbon:install[sass_path]        # Move files to the Rails assets directory.
    :
    :
 (以下略)