Rails勉強会@東京第29回に参加してきた

参加してきました.とりあえず書いてあったログと感想を.

セッション一覧

前半
  • Scaffold++
  • ログローテートと運用関係について
  • git + Facebook
    • ここに参加
後半
  • Passenger(mod_rails)
  • rake taskを見る
    • ここに参加
その他
  • RubyKaigi会議

gitしてみよう

導入
  • emobileの共有で時間かかる.そして共有できず.某ドワンゴの人の登場が望まれた?
  • gitをsourceからインストール
    • 私はdebian sidで,1.5.5が入ってたので,特にインストールせず.
  • 特徴について
    • Rev#がない.Working Copを編集するか,Branchを切って編集する.まあ普通か.
実践#1
  • 実際にやってみた.(前でやってるのを同じようにやってみた.)
% cd ~/program/git/
% rails gitexsample
% cd gitexsample
% git init
% git add
% git status
# On branch master
#
# Initial commit
#
# Changes to be committed:
#   (use "git rm --cached <file>..." to unstage)
#
#	new file: README
#	new file: Rakefile
#	new file: app/controllers/application.rb
#	new file: app/helpers/application_helper.rb
#	new file: config/boot.rb
#	new file: config/database.yml
#	new file: config/environment.rb
#	new file: config/environments/development.rb
#	new file: config/environments/production.rb
#	new file: config/environments/test.rb
#	new file: config/initializers/inflections.rb
#	new file: config/initializers/mime_types.rb
#	new file: config/routes.rb
#	new file: doc/README_FOR_APP
#	new file: log/development.log
#	new file: log/production.log
#	new file: log/server.log
#	new file: log/test.log
#	new file: public/.htaccess
#	new file: public/404.html
#	new file: public/422.html
#	new file: public/500.html
#	new file: public/dispatch.cgi
#	new file: public/dispatch.fcgi
#	new file: public/dispatch.rb
#	new file: public/favicon.ico
#	new file: public/images/rails.png
#	new file: public/index.html
#	new file: public/javascripts/application.js
#	new file: public/javascripts/controls.js
#	new file: public/javascripts/dragdrop.js
#	new file: public/javascripts/effects.js
#	new file: public/javascripts/prototype.js
#	new file: public/robots.txt
#	new file: script/about
#	new file: script/console
#	new file: script/destroy
#	new file: script/generate
#	new file: script/performance/benchmarker
#	new file: script/performance/profiler
#	new file: script/performance/request
#	new file: script/plugin
#	new file: script/process/inspector
#	new file: script/process/reaper
#	new file: script/process/spawner
#	new file: script/runner
#	new file: script/server
#	new file: test/test_helper.rb
#
      • tmpフォルダが最初から取り込まれない.
      • 最初からignore-listに入っているぽい.他は[.gitignore]に記載すればいいらしい.
実践#2
  • 次に先ほどのRepositoryをメインとするcloneを作ってみる.
% git clone /home/hoge/rails/gitexample gitexample2
% cd gitexample2
% git pull
% cat FETCH_HEAD
% cat ORIG_HEAD
% cat HEAD
FETCH_HEAD
持ってきたHEAD
HEAD
Local RepositoryのHEAD
ORIG_HEAD
持ってくるHEADのhash_key
    • FETCH_HEADとORIG_HEADとの違いは?ここがよくわからなかった.
実践#3
  • branch操作など.実際の流れに沿ってやってみる.
% git branch
% git branch branch-01
% git checkout branch-01
branch一覧を表示
git branch
branchを切る
git branch BRANCH_NAME
branchを切り替える
git checkout BRANCH_NAME
    • branch切って,checkoutで切り替えて編集する.
% git add .
% git commit
編集をgitに取り込む
git add .
Local Repositoryにcommitする
git commit
    • mergeするためにbranchをmasterに切り替えて,mergeする.
% git checkout master
% git diff branch-01
% git pull branch-01
diffを見る
git diff BRANCH_NAME
mergeする
git pull BRANCH_NAME
    • 元のRepository(Remote)に変更を送る.
% git push
Remoteに変更(Patch)を送る
git push
まとめ
  • 運用ルールを作る必要がある.
  • 分散リポジトリの概念をちゃんと理解しないといかんなと思った.
  • ただオフラインでcommitやbranch切って作業できるのは便利かなと思った.自分のでやってみよう.

続きはウェブで!こちら