git hubが流行ったこともあり、最近のバージョン管理システムはgitがほとんどだともう。
今回は少しgitを触ってみたいと思う。
git管理を始めて見る
gitのリポジトリを作成するには、リポジトリを置くからのディレクトリを作成し、そこで、gitの初期化を行う。
mkdir /tmp/project.git
cd /tmp/project.git
git --bare init
これで、リポジトリが作成される。
ちなみに、このディレクトリは作業ディレクトリではないので、直接このディレクトリ内で作業することはない。
イメージ的にはサーバ側の初期化が終わった段階という感じだ。
次に、先程作ったリポジトリからクローンして作業場所を作成し、ファイル追加を行ってみる。
cd ~
git clone /tmp/proect.git
cd project
touch new.txt
git add new.txt
git commit
ここまでで、new.txtがgitの管理下に置かれコミットされたので、次はプッシュしてみます。
git push origin master
これで、リモートにプッシュされ他の人もnew.txtを編集できるようになった。
ログを見やすくしてみる
デフォルトのログを見るには
git log
とすることで、ログを見ることができる。
しかし、これだとブランチの流れが把握しにくいのでちょっとカスタマイズしてみる。
やることは、色を付けるのと、グラフ表示にするの2点。
まずは色をつける。
git config --global color.ui auto
git config --global core.pager "lv -c"
–global オプションを指定しているので、ここでした設定はユーザの設定ファイルに書き込まれ、実行したユーザにのみ設定が反映される。
もし、システム全体で同じ設定を行いたい場合は –system オプションを使用する。
また、特定のリポジトリにのみ反映したい場合は、オプション無しか、–local を指定すればいい。
次に、ログの出力形式を設定する。
git config --global alias.lg 'log --graph --all --pretty=format:"%h %Cred%d%Creset %s"'
これでgit lg と実行するとグラフ表示でログが表示されます。
alias.lg で lg に対してlogコマンドと、オプションのエイリアスを作成しています。
フォーマットについては、git-logのmanのThe placeholders are:という見出しの部分に詳細がある。
今まで実行してきたコマンドの設定情報は、ホームディレクトリの.gitconfigに記載されている。
コマンドをいちいち実行せずに直接ファイルを編集してもOK。
今までのコマンド結果の.gitconfigは
[color]
ui = auto
[core]
pager = lv -c
[alias]
lg = log --graph --all --pretty=format:\"%h %Cred%d%Creset %s\"
となっている。