Gitの履歴
分散レポジトリをサポートしたバージョン管理システム
Subversionではレポジトリはひとつしかないので、コミットする場合はそこにアクセスしなければならない。
gitはレポジトリが分散するようになってて、ローカルにもレポジトリを持ち(クローンする)、元のレポジトリにアクセスしなくてもコミットできる。
Windows用クライアント msysgit
http://code.google.com/p/msysgit/
git チュートリアル (バージョン 1.5.1 以降用)
http://www8.atwiki.jp/git_jp/pub/Documentation.ja/tutorial.h...
ユーザマニュアル
http://www8.atwiki.jp/git_jp/pub/Documentation.ja/user-manua...
Git/Subversionコマンド対応表
http://b4.x0.com/hiki/?Git%2FSubversion%A5%B3%A5%DE%A5%F3%A5...
やる夫で学ぶ gitcore-tutorial
ちょっと読んでみた。思ったより複雑だな…
http://motememo.g.hatena.ne.jp/keyword/やる夫で学ぶ%20gitcore-tutorial
git init 初期化 git update-index --add {filename} インデックスをとる git cat-file -t {object} オブジェクトのタイプを調べる git diff-files 差分を見る git diff-files -p 差分を見る(diff形式で) git commit -m "{comment}" コミット(複数の手順があるのをこのコマンドひとつでまとめてる) git diff-index -p HEAD ワーキングコピーとコミットツリーの差分を見る?? git diff-index --cached -p HEAD インデックスとコミットツリーの差分を見る?? git add {filename} update-index?
あってるかあってないかわからないメモ
- コミットの前にインデックスを作成する処理がいる。「git add」か 「git commit -am ""」しなければならない?さらに、外部に送らなければならない場合は「git push」もいる。
- .gitにリポジトリの情報が入ってる。リポジトリ=ワーキングツリー
Git Subversion 連携
svnをマスターとして使うことができる。これは便利そうだな。覚えたい。
$ sudo port install git-core +svn $ git svn clone -s http://server:port/repo/project $ git svn dcommit # git push $ git svn rebase # git rebase
http://d.hatena.ne.jp/idesaku/20090323/1237825080
svn:externalsはgit submodule。でもイコールではないらしい。
移行スクリプト。でもうまくいかなかった…
http://github.com/garbas/garbasgit.svnexternals
(via http://d.hatena.ne.jp/Sixeight/20090210/1234272295 )
コラム:SubversionのタグとGitのタグ
Subversionではタグやブランチはともにディレクトリとして扱われるが、Gitではタグとブランチは明確に別のものとして扱われている。そのため、SubversionのタグはGitではブランチ相当のものとして扱われる。