• ブログ
  • ふぉとす
  • キーワード
  • ブックマーク
  • 写真
  • ログイン

Title

« WRC ルノー・クリオ ジャン・ラニョッティの美技‐ニコニコ動画(SP1) | かえるイメージもちょっと改良 »
  • バージョン管理をsubversionからgitに移行してみた 2008-05-17 23:46:33

    kaeruspoon関連のソースコードはsubversionでバージョン管理していますが、ウワサのgitを使うことにしてみます。

    参考:せっかちな人のためのgit入門

    環境はubuntu8.04。まずはgitのインストール。

    sudo aptitude install git-core
    


    gitはsubversionみたいにレポジトリがひとつではなく、あらゆる環境で分散して管理します。つまりローカルにもレポジトリが存在することになるので、ノートパソコンを持って飛行機の中でも電車の中でも開発ができるということ。subversionとsvkをくっつけたような感じですね。
    とりあえず、ローカル環境でレポジトリを作ります。

    cd ~/devel/kaeruspoon
    git init
    

    .gitというディレクトリが作られます。

    ではkaeruspoonをコミットしてみよう。コミット前にsubversionの.svnディレクトリを削除しておきます。

    find . -name .svn -exec rm -fr {} \;
    

    それからコミット。

    git add .
    

    と、思ったら

    *** Your name cannot be determined from your system services (gecos).
    
    Run
    
      git config --global user.email "you@example.com"
      git config --global user.name "Your Name"
    
    to set your account's default identity.
    Omit --global to set the identity only in this repository.
    
    fatal: empty ident  <tsukasa@blue
    .(none)> not allowed
    

    なにか怒られた。
    どうもコミットする者の名前を登録しておく必要があるらしい。

    git config --global user.email "tsukasa@example.com"
    git config --global user.name "tsukasa"
    


    気を取り直してコミット

    git add .
    git commit -m "kaeruspoon commit"
    

    subversionと同様に、-mオプションをつけなければエディタが立ち上がってそこにコメントが書けます。
    ぼくの環境ではデフォでnanoがエディタとして選択されたので、~/.zshrcに以下の行を追加してvimを使うように指定しておきました。

    export GIT_EDITOR=vim
    


    それからサーバ上にリモートレポジトリを作ります。サーバの環境はdebianなんだけど、微妙にコマンドが違う。なんでだろう。

    cd /var/git/kaeruspoon
    git init-db
    


    それからローカルに戻って、ローカルのレポジトリをリモートレポジトリに反映させます。

    git remote add origin ssh://silver/var/git/kaeruspoon
    git push origin master 
    

    このpushが、subversionでいうcommitみたいな感じ。
    逆にpullコマンドでリモートレポジトリをローカルに反映させることができる。こちらは update か。

    webサーバに、ローカルレポジトリを作って、リモートレポジトリの内容を反映させてみよう。

    cd /var/www/rails/
    git init-db
    git clone ssh://silver/var/git/kaeruspoon
    

    これで環境構築は完了。

    では開発・コミット・webサーバへの反映の一連の流れをやってみよう。
    どこかのソースを修正したあとに

    git status
    

    で状態の変化を確認し、

    git diff
    

    で実際の変更箇所を確認できる。このあたりはsubversionと同様。
    で、ローカルレポジトリへのコミット。

    git commit -a
    

    コミットログは

    git log
    

    で確認できます。
    さて、リモートレポジトリへの反映。

    git push origin master
    

    それからwebサーバ上で

    git pull origin master
    

    これですべて完了です。

    Commentコメント(0) Pageリンク元(876) Append 477
  • 涼宮ハルヒの溜息 (角川スニーカー文庫)
    メディア: 文庫
    キドリントンから消えた娘 (ハヤカワ・ミステリ文庫)
    作者/アーティスト: 大庭 忠男
    メディア: 文庫
« WRC ルノー・クリオ ジャン・ラニョッティの美技‐ニコニコ動画(SP1) | かえるイメージもちょっと改良 »

プロフィール

おおいしつかさ

Amazon商品の一覧

人気の記事ベスト10

  • 1.apache+mod_proxy_balancer+mongrelでRailsを動かす方法
  • 2.Perlでevalを使ってみる
  • 3.バージョン管理をsubversionからgitに移行してみた
  • 4.tokyobikeのドロップハンドル化
  • 5.restful_authenticationを使ってみた
  • 6.ubuntu8.04でデュアルディスプレイを使う
  • 7.URLなど、長い英字を折り返して表示する方法
  • 8.MySQLコンファレンス2008 2日目に参加してきました。
  • 9.RailsとPostfixで受信メールを処理する方法
  • 10.Rspecでコントローラのspecファイルを書く

コメント

  • おおいしつかさ(へぼ将棋にいそしむ)
  • 武石(へぼ将棋にいそしむ)
  • ユル(しろさん、小鳥を食べるの巻)
  • おおいしつかさ(今読んでいる本)
  • 武石(今読んでいる本)
  • ユル(プログラマが若隠居をしたら)
  • ユル(風邪ひいた)

過去の記事

2006年
12月
2007年
1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月
2008年
1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月
2009年
1月

キーワード一覧

ActionScript AmazonResources Erlang git javascript kaeruspoon milook NSR Objective-C Rails Ruby Ruby on Rails subversion Thin tokyobike ubuntu VAIO VAIO typeZ Waves Xen ぐりぐり カンタロー スノボー ドトール ドライブ バイク プログラミング ユルさん 執筆 日本酒 模型 真中洋嗣 自転車

Youtube

ニコニコ動画