2

所以,我有一个与BitBucket的 API集成的 php 脚本,并对一些本地/共享存储库进行更改。

为此,我将--git-dirand --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 merge "origin/master" 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.ta​​r.gz

安装:

我自己:/some/folder/git-1.7.7.ta​​r.gz$ ./configure

我自己:/some/folder/git-1.7.7.ta​​r.gz$ make

我自己:/some/folder/git-1.7.7.ta​​r.gz$ sudo make install

完毕!:)

参考: http: //www.mikepilat.com/blog/2011/06/how-to-build-git-from-source-on-ubuntu/

4

1 回答 1

0

请编译最新的 git。

是的,有些命令不遵守这些参数。您可以尝试设置它们的等效环境变量。

于 2012-07-30T02:54:37.867 回答