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

  • 実際にやってみた.(前でやってるのを同じようにやってみた.)
    • ひとまずRails Appsを作って,リポジトリを作ってみる.
% 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切って作業できるのは便利かなと思った.自分のでやってみよう.

続きはウェブで!こちら

 
comments powered by Disqus