い〜さねっと

雑多メモ

FreeBSDでgitを使い始める

なにやら研究室の一部でgitブームが到来したようなので,
流れに乗って使ってみようと思った
とりあえず,勉強会で使われた資料を参考にid:hakobe932に教えてもらうことに
080726Ruby関西勉強会git - Rubyist

インストール

まず初めに,gitのインストール

# cd /usr/ports/devel/git
# make install clean

オプションでは,GUISVN,GITWEBという3つがあり,とりあえずすべてチェックオンにする
しばらくすると,何やらapr-svnライブラリが足りないみたいなので,インストール

# cd /usr/ports/devel/apr-svn
# make install clean APR_UTIL_WITH_BERKELEY_DB=yes

apacheをインストールしていると,少しややこしいみたい
俺はapacheをインストールしてなかったから大丈夫っぽいけど
無事にインストールが成功すると,再びgitのインストール

一番基本的な使い方

インストールが終わると,まずディレクトリを作成
ディレクトリ名はなんでもいいけど,とりあえずgitrootにしておく

$ mkdir gitroot
$ cd gitroot

そして,初期化する

$ git init

適当にファイルなんかも作ってみて,そのファイルを追加

$ touch hello
$ git add hello

最後に,リポジトリにチェックイン

$ git commit

基本的な使い方はこれでOK
ファイルを更新した場合も,addとcommitの両方をする必要があるらしいけど,

$ git commit -a

で,その両方をしてもらえるみたい
logやdiff,statusも簡単に見れる

$ git log

branchの操作

gitでは簡単にbranchの操作をすることもできるみたい
新しくbranch(ここではedge)を作成するには,

$ git branch edge
$ git branch
  edge
* master

branchを変更するには,

$ git checkout edge

現在のbranch(例えばmaster)に他のbranch(edge)をマージするには,

$ git merge edge

こんな感じでできるらしい
revert関連は少しめんどくさい模様

他のリポジトリのcloneを作成

gitは分散リポジトリなので,他のリポジトリをとってきて簡単にクローンを作成できる
例えば,「やる夫で学ぶgit」のリポジトリのクローンを作成してみる
motemen/yaruo · GitHub

$ git clone git://github.com/hotchpotch/yaruo.git yaruo

最後の引数は指定するためのものらしいので,なかった場合は,相手のリポジトリ名になるっぽい
クローンを作ったら,自分のリポジトリになるので,いくら変更しても,オリジナルには影響なし
この辺はSubversionと違って少し気軽にできそう
もともと1人でやってるとあんまり関係ないかも

tigのインストール

gitのlogを見るのに便利なツールとして,tigというものがあるらしい
というわけで,インストール

# cd /usr/ports/devel/tig
# make install clean

gitリポジトリのディレクトリで,tigコマンドを実行すると,
何やら視覚化された状態で見ることができる
hを押すと,キーバインドが表示される
色々多すぎて,よくわからん!

色づけ

標準では何も色づけされていなくて,少し見にくいので,色づけすると結構見やすくなる
コマンドで用意されてたり,設定ファイルを変更するだけでOK

$ git config --global color.diff auto
$ git config --global color.status auto
$ git config --global color.branch auto

設定ファイルは,HOMEの下のものを編集

$ vim .gitconfig
[color]
        diff = auto
        status = auto
        branch = auto

aliasの設定

コマンドがそのままでは長かったりするので,aliasを設定しておくと便利

$ git config --global alias.co checkout
$ git config --global alias.st status
$ git config --global alias.ci 'commit -a'

設定ファイルは,色の場合と同様に追加

[alias]
        co = checkout
        st = status
        ci = commit -a

感想?

基本的なところは大体こんな感じかな〜
書いてるうちにどんどん適当になってきて,なんかよくわからんくなってきたけど
まぁ使っていって覚えていくしかないね
とりあえず,「やる夫で学ぶgit」を読んで頑張るか!