2012-07-30 4 views
2

그래서 BitBucket의 API와 통합하여 일부 로컬/공유 리포지토리를 변경하는 PHP 스크립트가 있습니다. 명령에 --work-tree 및 --git-dir을 사용합니다.

는 내가 같이 --git-dir 모든 명령과 함께 --work-tree [적용]을 사용, 그렇게하려면 내 개발 환경에 자식 버전 1.7.0.4을 사용

/usr/bin/git --git-dir=/var/www/staging.repo/.git --work-tree=/var/www/staging.repo merge "origin/master" 2>&1; echo $? 

하고 자식 버전 1.5 라이브 서버에서 .6.5. 그 이유는 데비안 레니 (5) 용 최신 버전의 자식이 없기 때문에 나이가 들었습니다.

문제는 일부 git v1.7에서 --work-tree--git-dir을 올바르게 받아들이는 명령은 이전 버전에서는별로 신경 쓰지 않는 것 같습니다. 하나의 예는 다음과 같습니다

는/usr/빈/자식 --git-DIR =은/var/www /에서 staging.repo/.git --work 트리 =은/var/www /에서 "원산지를 병합 staging.repo/master "2> & 1; echo $?

치명적인 :은/usr/빈/자식 병합 트리가 작동하지 않고 사용할 수없는 출력

.

그래서 어떻게 git 1.5.6.5를 사용하여 매개 변수를 광범위하게 사용할 수 있습니까?


솔루션 :

다운로드 자식 소스 :

자신 :/몇/폴더 $ 컬 -O 설치된 http://git-core.googlecode.com/files/git-1.7.7.tar.gz

:

자신 : /약간/ 자신은 $ ./configure를

폴더/자식-1.7.7.tar.gz : 만들 /some/folder/git-1.7.7.tar.gz$

자신을 :/몇/폴더/git- 1.7.7.tar.gz $ sudo make install

완료되었습니다! :)

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

+1

뭔가를 놓칠 수도 있지만 특별한 이유가 있다면'git'의 최신 버전을 컴파일 할 수 없습니까? 1.5.6은 인터넷 시간으로 50 만 년이되었으며, 컴파일하는 것은 어렵지 않습니다. – Christopher

답변

0

최신 자식을 컴파일하십시오.

예, 일부 명령은 이러한 매개 변수를 준수하지 않습니다. 대신 동등한 환경 변수를 설정할 수 있습니다.