FreeBSDでgitを使い始める
なにやら研究室の一部でgitブームが到来したようなので,
流れに乗って使ってみようと思った
とりあえず,勉強会で使われた資料を参考にid:hakobe932に教えてもらうことに
080726Ruby関西勉強会git - Rubyist
インストール
まず初めに,gitのインストール
# cd /usr/ports/devel/git # make install clean
オプションでは,GUI,SVN,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」を読んで頑張るか!