所以,我有一个PHP脚本,它与BitBucket的API集成,并对一些本地/共享存储库进行更改。
要做到这一点,我会将--git-dir
和--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,所以我坚持使用旧版本。
问题是,在git v1.7上正确接受--work-tree
和--git-dir
的一些命令在旧版本上似乎并不太关心它。一个例子是:
/ usr / bin / git --git-dir = / var / www / staging.repo / .git --work-tree = / var / www / staging.repo merge“origin / master”2>& 1; echo $?
输出:
致命:如果没有工作树,则无法使用/ 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/
答案 0 :(得分:0)
请编译最新的git。
是的,有些命令不遵守这些参数。您可以尝试设置等效的环境变量。