Time to Read
15分
git での開発時に、コードレビューを支援するツール gerrit 。良さそうなのに日本語情報が非常に少なく、特に「インストールして Git リポジトリを設定するまで」の一通りの情報がなくて泣けたので、全世界の日本語ネイティブスピーカーのためにもなると思ってここにまとめたりする。
以下、 gerrit 2.2.2 における手順。バージョンが変わるとまったく違ったりしますので注意。
15分
git での開発時に、コードレビューを支援するツール gerrit 。良さそうなのに日本語情報が非常に少なく、特に「インストールして Git リポジトリを設定するまで」の一通りの情報がなくて泣けたので、全世界の日本語ネイティブスピーカーのためにもなると思ってここにまとめたりする。
以下、 gerrit 2.2.2 における手順。バージョンが変わるとまったく違ったりしますので注意。
1分
理由は、NginXのhttp_dav-moduleが、PROPFINDなど一部のWebdavメソッドをサポートしていないため。
メソッドによってfastcgiでwebdav.cgiにリクエストを振る、などの手法も紹介されていましたが、それをするなら全リクエストをwebdav.cgiに振ってしまえばいいと思いました。
gitサーバをhttp(s)で公開する際は、素直にApache2、lighttpdなどを利用しましょう。。
Apacheの場合の手順:
2分
etckeeperと言うものがあり、要するに /etc 以下をリポジトリにして変更履歴を管理してくれる、大変大雑把と言えば大雑把なソフトウェアがあります。大雑把ですが、結構便利です。
1 | sudo aptitude install git-core etckeeper |
そしたら、 /etc/etckeeper/etckeeper.conf と言う若干くどい名前の設定ファイルを編集。
1 2 3 4 5 | # The VCS to use. #VCS="hg" VCS="git" #VCS="bzr" #VCS="darcs" |
Gitの他、MercurialやBazaarなんかが使えます。ただし、Subversionなどのような、中央リポジトリが必要なバージョン管理システムは使えませんね(ローカルにコミットしていくため)。
VCSを決めたら:
1 2 | sudo etckeeper init sudo etckeeper commit |
勝手にバージョン管理するんで、特にとりたててすることは無いです。
それで終わってもアレなので、、コミットのタイミングは主に以下の2点です。
たとえばaptitude installしたりすると自動で変更をコミットしてくれます。また、 /etc/cron.daily/etckeeper というジョブがインストールされて、毎日変更をチェックし、変更があれば自動コミットします。
手動で /etc の変更をコミットしたい場合は:
1 | sudo etckeeper commit "message" |
/etc/etckeeper/ 以下には、commit.d、init.d、unclean.dなどのディレクトリがあり、サブコマンドcommit、init、unclean…といった感じで対応しています。そのサブコマンドを発行すると、 ${SUBCOMMAND}.d/ 以下の実行スクリプトを順次実行していきます。
たとえば、/etc/etckeeper/log.d と言うディレクトリを作れば、 etckeeper log と言うサブコマンドが利用できるようになります。 /etc/etckeeper/log.d/10LOG と言うシェルスクリプトを以下のように作成してみましょう。
1 2 3 4 5 6 | #!/bin/bash git --git-dir=/etc/.git log \ --graph \ --all \ --color \ --pretty='%x09%h %cn%x09%C(yellow)(%cr)%Creset%x09%s %Cred%d%Creset' |
これで:
Logを見るのが楽になりました。etckeeper自体は微妙に機能不足感は否めませんが、大雑把な仕組みだけあって大雑把に機能追加出来ます。活用しましょう。
ちなみに、git --git-dir=/etc/.git log の順番でないと動きません。。。しばらく、動かないスクリプトを載せていて失礼しました(19:33修正)。
なお、上述のカラフルなGit logのフォーマットは、以下のサイトを参考にさせていただいております。
11月 18
Posted by udzura in Capistrano, Git, Mercurial, Ruby | 2 Comments ![]()
![]()
![]()
![]()
![]()
5分
Gitっぽい分散型バージョン管理ツール。Python界隈でよく使われているらしい。コマンドは hg 。
Mercurialを利用する、リポジトリホスティングサービス。簡単なWikiやトラッカも付く。無料利用可能。
ウェブサービスかなんかをデプロイする際、Capistranoなどが便利だけれど、Capistrano経由のデプロイではリポジトリが存在しないと旨味が少ない。この時、まあ、Webサーバと同じサーバに公開リポジトリを作るよりは、外部のリポジトリホスティングとかを頼りたいよね、と言う話。
Githubと言う最強のホスティングサービスでGitを使ってもいいけど、今回紹介するBitbucketは「無料でプライベートリポジトリが作成可能」なので、色々都合がいい場合が多い。ということで、Bitbucketを利用するための最低限のMercurialの使い方を紹介。
最近もっぱらGitを使用していますが、軽くて高機能ですし便利だと思います。でも今日はGitの話しません。
そんなGitのlogを見る際に、色々いじって手ワンライナーに便利そうなコマンドオプションを幾つか発見したので、鬼の首を取ったようにメモしときますね。
言っておきますが分かってる人には当然の内容ですよ。。
You are currently browsing the archives for the Git category.
Arclite theme by digitalnature | powered by WordPress