Git은 개발 서버에서 크게 반응하지만, git push를 수행하면 git hook이 라이브 서버에 git pull을 수행하여 개발 서버. 우리의 문제는 라이브 서버에서 git pull을 수행하는 데 약 45 초가 걸리지 만 라이브 서버에서 git pull을 수동으로 수행하면 거의 즉각적입니다.Git Hook을 통한 원격 풀링은 실제로 오랜 시간이 걸립니다.
$ git push
Counting objects: 5, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (5/5), done.
Writing objects: 100% (5/5), 435 bytes | 217.00 KiB/s, done.
Total 5 (delta 4), reused 0 (delta 0)
remote: Checking connectivity: 5, done.
remote: Debug: set branch start @ Wed, Sep 6, 2017 10:12:28 PM
remote: Debug: set branch end @ Wed, Sep 6, 2017 10:12:28 PM
remote: GIT pull master on live server...
remote: Debug: cd start @ Wed, Sep 6, 2017 10:12:28 PM
remote: Debug: cd end @ Wed, Sep 6, 2017 10:12:28 PM
remote: Debug: unset git_dir start @ Wed, Sep 6, 2017 10:12:28 PM
remote: Debug: unset git_dir end @ Wed, Sep 6, 2017 10:12:28 PM
remote: Debug: git pull start @ Wed, Sep 6, 2017 10:12:28 PM
remote: From //liveserver/GIT/repos/ThisProject
remote: * branch master -> FETCH_HEAD
remote: 6434be6e..f6c6e04d master -> origin/master
remote: Updating 6434be6e..f6c6e04d
remote: Fast-forward
remote: applications/the_changed_file.php | 2 +-
remote: 1 file changed, 1 insertion(+), 1 deletion(-)
remote: Debug: git pull end @ Wed, Sep 6, 2017 10:13:14 PM
remote: Done!
To //liveserver/GIT/repos/ThisProject.git
6434be6e..f6c6e04d master -> master
우리는 완전히 우리가 그것을 할 때 걸리는 시간의 속도에 가깝게 속도를 높이려면이 옵션을 얻을 수있는 방법에 난처한 상황에 빠진 것 : 타임 스탬프에 대해 설정 디버깅
,이 무슨의 예입니다 라이브 서버에서 git pull을 직접 실행하십시오. 이 문제를 해결하기 위해 우리는 무엇을 할 수 있습니까?
우리는 개발자 서버와 라이브 서버에서 Windows 서버에 힘내라를 사용하고 있습니다.
라이브 서버에 사용되는 후크는 무엇입니까? 수신 후크입니까? 후크의 대본을 보여줄 수 있습니까? –
이 .... 후받을 후크입니다! '# 이 oldrev NEWREV의 refname 지점 = $ 읽기/빈/SH {refname 번호의 심판/헤드 /} 경우 [ "$ 지점"== "master"]; 는 \t CD // liveserver/SMBWindowsShare/ThisProject \t 해제 GIT_DIR \t 디버그 에코 : 자식이 시작 끌어 @ "$ (날짜)" \t 자식 끌어 오기 원산지 마스터 번호를이 45+ 초 \t 디버그 에코 걸리는 것입니다 : git pull end @ "$ (date)" \t 에코 완료! fi exit; ' – kenneth
post-receive 훅 스크립트의 일부를 변경하기위한 답을 추가했습니다 (대신'unset GIT_DIT'와'git pull origin master'). 시도를 해보고 몇 초가 걸리는 지 확인할 수 있습니다. –