参加してきました.とりあえず書いてあったログと感想を.
##セッション一覧 ###前半
- 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切って作業できるのは便利かなと思った.自分のでやってみよう.
続きはウェブで!こちら.