だから、私はBitBucketの API と統合し、いくつかのローカル/共有リポジトリに変更を加える php スクリプトを持っています。
そのために、次のように、すべてのコマンドと一緒に--git-dir
and --work-tree
[該当する場合]を使用します。
/usr/bin/git --git-dir=/var/www/staging.repo/.git --work-tree=/var/www/staging.repo merge "origin/master" 2>&1; echo $?
開発環境では git バージョン 1.7.0.4 を使用し、ライブ サーバーでは git バージョン 1.5.6.5 を使用しています。その理由は、Debian Lenny (5) 用の新しいバージョンの git がないためです。
--work-tree
問題は、 git v1.7で正しく受け入れられるコマンドの一部が--git-dir
、古いバージョンではあまり気にしないように見えることです。一例は次のとおりです。
/usr/bin/git --git-dir=/var/www/staging.repo/.git --work-tree=/var/www/staging.repo マージ "オリジン/マスター" 2>&1; エコー $?
その出力:
致命的: /usr/bin/git-merge は作業ツリーなしでは使用できません。
では、git 1.5.6.5 を使用してこれらのパラメーターを広く使用するにはどうすればよいでしょうか?
解決:
ダウンロードした git ソース:
自分:/some/folder$ curl -O http://git-core.googlecode.com/files/git-1.7.7.tar.gz
インストール済み:
自分:/some/folder/git-1.7.7.tar.gz$ ./configure
自分:/some/folder/git-1.7.7.tar.gz$ make
自分:/some/folder/git-1.7.7.tar.gz$ sudo make install
終わり!:)
参照: http://www.mikepilat.com/blog/2011/06/how-to-build-git-from-source-on-ubuntu/