タグ

ブックマーク / idesaku.hatenablog.com (4)

  • git-cherry-pickを掘り下げる - idesaku blog

    Gitにgit-cherry-pickという、知らなくてもなんとかなるが知っていると便利なコマンドがある。このコマンドを少し掘り下げてみた。 git-cherry-pick git-cherry-pickは、狙ったコミットの変更内容だけを現在のブランチに取り込む操作である。 例えば、つぎのような履歴を想定する。 ---A---B---C [master] \ \ ---X---Y [temp]ここで、YはCの後にコミットするほうが適切であることに気づいた。このとき、masterブランチで次のようにすると目的は達成される*1。 $ git cherry-pick YコミットYの変更内容だけをmasterのHEADに適用する、という操作である。このときXの変更内容は適用されない点がgit-mergeとは異なる。 ---A---B---C---Y' [master] \ \ ---X---Y [

    git-cherry-pickを掘り下げる - idesaku blog
  • git-svnの使い方を覚えた - idesaku blog

    分散SCMを使いたい!と思う今日この頃。 仕事ではSVN(Subversion)を使っているのだが、ちょっとしたお試し編集をするためにブランチを作ることに抵抗がある。ブランチは欲しい、大きめな変更をコミット無しで行いたくない、やはり少しずつコミットして進めていきたい。しかし、変更が全て記録されてしまうのがいただけない。ログが残るのは良いことなのだが、当に使うかどうか未知数な実験的プログラミングのログまで残したくない。使うと決まってから初めて残すようにしたいのだ。 すまん、これまで一緒に仕事をしてきた人々よ。俺はこれまで「ログが残って困ることがなんかある?いらなきゃ無視すればいいだけなんだから、気にするな。ブランチでもなんでもバンバン作ってしまえ!」とうそぶいてきているわけだが…ハッタリかましてました!当は俺も抵抗があるのだ。 そこで、分散SCMだ。さらにいうと、SVKがいまひとつ気に入

    git-svnの使い方を覚えた - idesaku blog
  • Rails 2.0のscaffoldを使ってみた - idesaku blog

    Ruby on Rails 2.0になって何が変わったのか俯瞰してみるには、とりあえずscaffoldを作ってコードを見てみるのがよかろう、と思ったので作ってみた。 ありがちで恐縮だが、Personモデルのscaffoldを作る。要素は名前(name)と年齢(age)の二つだけ。シンプル。 まず、アプリケーションの初期化を行う。DBはお手軽に扱いたいのでsqlite3を使うことにした。これだとconfig/database.ymlの編集も不要なので楽。 $ rails trial -d sqlite3 (略) $ cd trial で、Rails 1.2であれば、まずはmigrationファイルを作ってDBにmigrateし、その後でおもむろにscaffold生成を行うところである。しかし、Rails 2.0ではここでいきなりscaffoldの生成を始める。 $ ruby script/g

    Rails 2.0のscaffoldを使ってみた - idesaku blog
  • Git初心者が絶対に覚えておくべきコマンド - idesaku blog

    Gitの使い方を覚えるにあたって、まず知っておきたいのは――git-cloneだのgit-commitだのは当然として――「操作をミスったときにどのように回復するか」である。それを実現するのは、次の3つのコマンドだ。 git-commit --amend git-reset git-reflog git-commit --amend あるファイルをコミットしたとしよう。 $ (edit...) $ git commit -am 'メッセージ生成処理を実装したよ。'しかし、しばらくして彼は気づいた。 def create_massage(param) ...typoしてる!massageじゃない、messageだ!マッサージを作ってどうする! 慌てるな。まずは直してステージに上げるんだ*1。 def create_message(param) ...$ git add .そして…。 $ gi

    Git初心者が絶対に覚えておくべきコマンド - idesaku blog
  • 1