- 2009年10月15日 22:02
- プログラミング
今日オフィスに@nekoyaさんが遊びに来てくれて、ランチしたあと半日くらい作業していかれました。
そして帰り際に「gitいいすよーほらこんな感じで・・」とdemoしながら魅力を説明した後、颯爽と帰っていきました。。
gitのいいところ
・サーバーを立てる必要がない
・リポジトリを作るのが簡単
・フォルダ構成がシンプル。svnのようにフォルダごとに.svn的なものが出来ない(=間違って削除したったーとかない)。
・デフォルトでdiffがカラーでみれる
・ひとつのファイルの一部分だけコミットできる
・コミットをなかったことにできる
・ブランチをきった後のマージが容易
・Macに素敵なGUIのブラウザがある(僕はWinで目に毒でした)
そういえば@usedhondaさんも「gitがあー」といってたなーと思い出しながら、とりあえずその場でお勧めの本を買ってみたのですが、家に帰ったらWEB+DBPressの50号があったのでそれを見ながらやってみました。
■インストール
ソースを取得してmakeしたらエラーが出たので、yumでインストール。Completeしたからいい、のか?
■初期設定
P55の初期設定をする
git config --global user.name "Yosuke ONO"
git config --global user.email "onoyosuke[at]gmail.com"
git config --global color.ui auto
■初めてのリポジトリ
P62をみながら現在製作中のプログラム君たちがいるプロジェクトのフォルダにて
git init
ls -laしてみると
.git
という二つのフォルダができていた。
■初めてのコミット
引き続きP62をみながら、プログラム君とかテンプレートファイル君とかをコミットしてみる。まずは追加。
git add .
うーんなんか「.git is correct?」って毎回聞かれるのだけどなんなんだろう。。zshおかしい?とにかくnとして次に進みます。
そして
git commit
なんかばーって出てきて、コミットされたっぽいです
■修正
適当に修正します。その後
git diff
をすると変更箇所が表示される
その後、
git add sample.html
そして
git diff
をやると何もでてこない。
P64
「なぜならgit diffコマンドは、まだgitに記録したいとリクエストしていない変更点を主ル直するコマンドだからです」
かしこまりました!
確認したいときは
git diff HEAD
。
HEAD=「現時点で最新のコミット」。
複数のファイルを同時に変更した場合には、
git add -u
これで複数ファイルまとめてaddできる。
■git commit -a -m "コメント"
git add -u + git commit
これは手間が省けてよいですね。
■.gitignoreの存在
.gitignoreファイルを作成しファイル名等リストにしておくと、バージョン管理をしないファイルとして認識する。たとえばemacsを使っているとバックアップファイル「*~」が出来るので、書いておく。
とりあえず1人用使いのcommitまでの基本動作はこんなところでしょうか?
git仲間ができたら共同作業の部分を勉強したいと思います!
ありがとうございました<@nekoya