gitをちょっと触ってみた

CentOSにgitインストール後、一般ユーザに戻ってgitざっと触ってみたメモ。

Git入門 - アットウィキチュートリアルとマニュアルを参考に。


派生して、Gitだけじゃなく「バージョン管理」について良い本があるそうなので、それも見てみようかと思います。

入門Git

入門Git

「入門 GIT」が神本である件。 git 利用者だけでなくすべての開発者が読むべき本 - KAYAC engineers' blog

SVNでも、管理方法が「Myルール」的な構成になっていて、ハタから見てどこに何があるのかわからない!というリポジトリ見かけたりするわけですが、

ひょっとすると自分も、おかしな事をやっているのじゃなかろうかと心配になることは多々あります。
 一応、前の仕事関連でかなり大勢で管理していた時のルール由来なので、それほど酷い事にはなってないとは思いますが・・・


既に公開されているリポジトリを参照する場合。

git clone git:hogehoge〜

で、取得するとまず

[cake@cake cakeplus]$ git branch
* master

のようになっている。

アスタリスクの付いてるのが現在参照している、という意味のようで、例えば特定のタグから別のブランチをcheckoutしてくると、アスタリスクが移動する。

[cake@cake jquery]$ git tag -l
1.0
1.0.1
1.0.2
(略)
[cake@cake jquery]$ git checkout -b [name] [tagName]
[cake@cake jquery]$ git branch
* [name]
  master

このとき、ソースはcheckoutしたタグの内容になっているので、感覚としてsvn checkoutというよりsvn sw的?


そして、checkoutしたソースをコミットした段階では、

  • master側とは別の場所にコミットされる
  • master側に「こんな改修したからpullしてー」と申請して、実際にpullされて始めてmaster側に反映される

・・・というのが、おそらく概要。


svnでcheckoutだとコミットが直接masterに反映されるのが割と怖い;だからbranch切るんだとはいえ・・・
そして自前のリポジトリで別管理して、纏まったところで本家に連絡、と思っても、
リポジトリのhostが違うとverUP時の差分反映が大変だったり、割と面倒


ひょっとして、Gitはその辺りが便利で、公開開発管理に向いているのか?というのが今の印象です。


やっぱり次の週末、ジュンク堂でも行って、本の実物見てみよう。