Gitの最近のブログ記事



作成しているDB周りのソースコードも一段落してきたので、試しにSubversionとGitの連携してみました。


連携先のSubversionはOpenpearのリポジトリです。


Openpearについて


openpear



Openpear

http://openpear.org/

概要

pearコマンドで本家PEARと同様にインストールして使えるプロジェクト。


マイプロジェクト


PEARで有名なMDB2の偽物を作ってたからそれをコミットした。



MDB2_Fake

http://openpear.org/package/MDB2_Fake

正確には、MDB2は様々なDBに対応していたり、様々なメソッドがあり便利ですが、


私自身そんなに大それたメソッドやDB対応があっても使わないですから(笑)


という訳で同じメソッド名で組み直し。現状、MySQLしか対応してないです。


使い方はMDB2とほぼ同様です。


プログラミングしていて気をつけた点はソースコードが分かりやすい事です。


(抽象クラスやインラーフェースを使ってるおかげでわかりにくくもなってますが...)


あとは、すみません。PHP5のみ対応です。



以上、マイプロジェクトについて終わり。


追記:頼むからopenpearプロジェクト打ち切りとかないでくれよ...


git-svnについて


git-svnはGitとSubversionが連携するためのツールです。


私の場合はFedoraを使ってるので、



# yum install git-svn

でインストール終了。


Subversionリポジトリのクローン作成



git svn clone <Subversionリポジトリ>

Subversionリポジトリのクローン作成(trunk,branches,tagsをもつ場合)



git svn clone -s <Subversionリポジトリ>

Subversionリポジトリへのプッシュ



git svn dcommit

Subversionリポジトリから更新を取得



git svn rebase

今のところ、Subversionリポジトリのtrunk,branches,tagsの使い分けが出来なくて困ってる。


あとは問題ない感じ。


これでGitの一週間は終わり。もしかしたらちょくちょく気づいたことがたまったら投稿するかも。


参考


とっても参考になった。



* 作者: Travis Swicegood, でびあんぐる


* 出版社/メーカー: オーム社


* 発売日: 2009/08/12


* メディア: 単行本(ソフトカバー)




DB周りのソースコード書きながらGitを使う。早いもので5日たってしまった。


ソースコードが増えてきても快適快適。


ソースコードがちょこちょこ増えてくるタイミングでGitをやり始めると習得スピードとファイルの増え方がちょうどよい感じ。



git diff 作業ツリーとリポジトリの差分



git diff HEAD

git branch -m ブランチ名を変更する



git branch -m <変更前のブランチ名> <変更後のブランチ名>

git branch 新しいブランチを作成する



git branch <作成するブランチ名>

git branch ブランチに基づき新たにブランチを作成する。



git branch -m <基づくブランチ> <作成するブランチ名>

git merge 直接マージ


マージ元ブランチの履歴を全て個別にマージする。



git merge <マージ元ブランチ名>

git checkout -b 圧縮コミット


マージ元ブランチの履歴を全て一括し新たなブランチを作成する。というかチェックアウトして作ってるだけ。



git checkout -b <作成するブランチ名> <マージ元ブランチ名>

git merge --squash 圧縮コミット


マージ元ブランチの履歴を全て一括しブランチにマージする。



git merge --squash <マージ元ブランチ名>

以上、マージの例です。


この辺使ってたら競合に遭遇したので、次回は競合の解消法を書けたらいいなと思ってます。




Git。Git。Gitの4日目。もちろんGitだけじゃなく、ソースコードも触ってます;^^


git clone リモートのGitリポジトリのクローン作成。



git clone <リモートのGitリポジトリ>

試しにクローンを作成する。

試しにgithubで友人と私が管理してる死にプロジェクトのクローンを作成する。



mkdir mysite
cd mysite
git clone git://github.com/rokujyouhitoma/seneca.git

追記:id:bonk氏。そろそろプロジェクト再開しますか!?


git diff 差分


コミットしていないかつステージに存在するものの差分を表示。



git diff

git diff --cached 差分


ステージエリアとリポジトリ間の差分を表示。



git diff --cached

ステージエリアって何?


作業ツリーにおける変更で、リポジトリに反映してないもの。


対象ファイルをgitに無視させる。


gitに認識させたくないファイルが存在すると思います。


例えば、Eclipseによる.projectファイルや、Emacs使用時に生成される*.*~ファイルです。


これらをgitに認識させたくない場合の選択肢は2つあるみたいです。


.git/info/excludeを編集

このファイルはユーザー毎の設定ファイルなので、影響範囲は自分のみ。


.gitignoreを編集

このファイルはコミットされるので、自分以外の人にも影響が出る。


git mv ファイル名の変更、移動


Unix、Linuxのmvコマンドと同じ。



git mv <対象ファイル> <移動先や変更名>

githubについて


githubはgitのプロジェクトホスティングサービスです。オープンソース系のプロジェクトが多いので覗くだけでも楽しめます。


https://github.com/


id:rokujyouhitomaはgit4日目とか書きながらgithubで既に使ったことがありました...m(__)m




根本的なユーザー設定をしてなかったので設定する。


git config --global user.name -ユーザー名の設定



git config --global user.name "<ユーザー名>"

git config --global user.email -メールアドレスの設定



git config --global user.email "<メールアドレス>"

Subversionとgitのコマンド対応表


Subversionユーザーなので、対応表があるとすんなり頭に入ると思って作った。











Subversiongit
svnadmin creategit init
svn checkoutgit clone
svn updategit pull
svn addgit add
svn commitgit add, git commit
svn statusgit status
svn switch <ブランチ>git checkout <ブランチ>
svn merge <ブランチ>git merge <ブランチ>
svn revert <ファイル>git checkout <ファイル>

Subversionとgitの連携


Subversionとgitのコマンド対応表で思いだしたのだけどSubversionとgitは連携できる。


なので、Fedoraに連携用のライブラリを入れる。



# yum install git-svn

連携は次回してみるかな。




話題のGitを使ってみてるところ。Gitの読みは「ぎっと」らしい。「じっと」じゃいないのか。そうですか。


昨日はgitの初期化からコミット、ブランチをつくりmastarとブランチの切り替えなどをした。


http://d.hatena.ne.jp/rokujyouhitoma/20090817


今日はまずタグの使たりしたいな。ちなみに昨日はFedora10でしてたけど、自分の使ってるmacにgit入れたの思い出したからmacのgitでやります。


git tag -タグを打つ


タグを打つ


$ git tag <タグ名称> <リポジトリ名>

タグの確認


$ git tag

git rebase -ブランチの変更を別のブランチで適用



$ git rebase <ブランチ名>

git branch -d -ブランチの削除



$ git branch -d <ブランチ名>

おまけ


分からなくなったら、helpコマンド。



$ git --help

$ git <コマンド名> --help

helpはviやlessコマンドと同様のキーバインドみたい。:qで終了。



さて、今日は体調悪いので寝る。おやすみ。




自宅にバージョン管理システム欲しいなと思って、Subversionにしよっかなっと思ったけどGitに興味があったのでGitに。


環境



OS

Fedora10

インストール


RHELクローンだからyumコマンドで。



# yum install git

バージョンの確認



$ git --version
git version 1.6.0.6

git init リポジトリの作成


ディレクトリを作成し、そこでgitの初期化コマンドを実行する。



$ mkdir <リポジトリ名>
$ cd <リポジトリ名>
$ git init
Initialized empty Git repository in /<ワークディレクトリ>/<リポジトリ名>/.git/

git add -対象ファイルをgitの管理下にする。



$ git add <対象ファイル>

git commit -コミットする。



$ git commit -m "<コミットメッセージ>"

git log -コミットメッセージの確認



$ git log

git status -作業ツリーとgitリポジトリの状態



$ git status

git branch -ブランチの作成


masterはSubversionでいうtrunkにあたる。



$ git branch <任意のブランチ名> master

git checkout -ブランチへの切り替え。



$ git checkout <ブランチ名>

git checkout -masterブランチへの切り替え。



$ git checkout master

参考


入門git

subversion本も以前読んだが、バージョン管理システムの概要やSubversionとの比較、インストール法など載っており便利。



* 作者: Travis Swicegood, でびあんぐる


* 出版社/メーカー: オーム社


* 発売日: 2009/08/12


* メディア: 単行本(ソフトカバー)


追記


次回はブランチ切り替えの復習とタグの使い方とか。


あわせて読みたい

  • あわせて読みたいブログパーツ

Lingr java-ja

ウェブページ

2009年8月: 月別アーカイブ

Powered by Movable Type 4.1