Subversion を Git へ移行したい (そして共有方法として GitHub を使いたい) 場合に考える観点をあげてみます。
- チームに Git にくわしい人がいるか? いない場合、聞く先があるか?
- チャットに git ルームをつくるなど
- 習熟度に不安があったら、やってはいけないことリストとこうすべきリストの整備が初期の混乱を防ぎます
- force push 禁止
- ブランチはリモート追跡ブランチからきる
| require 'minitest/autorun' | |
| class ModuleTest < Minitest::Test | |
| def test_module_eval | |
| debugger = Object.new | |
| debugger.class.module_eval do | |
| define_method(:debug) {|s| %(debug: #{s}) } | |
| end | |
| assert_equal 'debug: Hello', debugger.debug("Hello") | |
| end |
| module EnumHashSelector | |
| DEFAULT_RESOLVER = ->(model_class, method_name, key) { | |
| "activerecord.enums.#{model_class.name.underscore}.#{method_name.to_s}.#{key}" | |
| } | |
| def self.i18n_path_resolver=(resolver = DEFAULT_RESOLVER) | |
| resolver.call(model_class, method_name, key) | |
| end | |
| def enum_selector(model_class, method_name) |
| private | |
| def fixup(data) | |
| return nil if ! data | |
| return_data = output.isatty ? data : data.gsub(/\cM/,"") | |
| if return_data.respond_to?(:force_encoding) | |
| return_data.force_encoding('utf-8') if return_data.respond_to?(:force_encoding) | |
| end | |
| if running_on_windows? | |
| begin |
今後何度も書くことになるだろうから repo へコミットする .gitignore の使い方について書いておく。まあ、ゆるーく使って余分に ignore 書きまくってもいいんですが覚えておくと、はかどります。なお、man に書いているというつっこみを受けた。
以下の方針で運用すると扱いやすくなります。
.gitignore ファイルへはプロジェクト固有でバージョン管理から外したいものを書く
~/.config/git/ignore