2012-02-06 29 views
15

Ben Git aracılığıyla benim uzak sunucuya bir web sitesi itti amaGitmeden önce kanca sonrası alımını manuel olarak nasıl çalıştırabilirim?

cannot run post-receive: No such file or directory 

Yani şeyler sunucusunda olduğu hata var, bu sadece benim/ortak klasöre konuşlandırılmış edilmemiştir.

Ancak bir alma-sonrası dosyam var, bu yüzden neden bulunmadığından emin değilim. Şimdi tek yapmam gereken, bu post-alma kancasını, nasıl yapılacağını bilmemekle birlikte elden çıkarmaktır ...

+0

[this] (http://stackoverflow.com/questions/3563904/git-hook-post-merge-error-cannot-run) yardımcı olup olmadığını kontrol edin. – vpatil

cevap

22

Kanca, çalıştırılabilir bir kabuk betiğidir. Repo'nuz birden fazla kafaya sahipse (yani dalları kullanırsanız) beklenen stdin10 inuput'u oluşturmak biraz yorucu olsa da, onu el ile çalıştırmanız gerekiyorsa komut satırından çalıştırabilirsiniz. Bunu sizin için yapacak düşük seviyeli bir komut olmalı, ama bunu bilmiyorum. Bir bash kabuğunu ve git repo tek dalı varsayarsak

...

# Print the log with full hashes and commit subject, so that you can 
# figure out which hashes to use for the FROM and TO range. 
/path/to/repo$ git log --pretty=%H\ %s 

# assuming the FROM commit identifies as 999988887777 
# and te TO commit identifies as 000011112222 
# (Note: use the full length hashes; I've shortened them for the example) 
/path/to/repo$ .git/hooks/post-receive <<MARK 
999988887777 000011112222 refs/heads/master 
MARK 

... Yukarıda sadece gerçek gibi çalışması gerekir.

+0

Tamam şimdi web sitesi.git/hooks/post-alma işlemini çalıştırdım ve "satır 1: GET_WORK_TREE: komut bulunamadı": -/ – nerdess

+4

Neyin yanlış olduğunu buldum: Tabii ki GIT_WORK_TREE olmalı GET_WORK_TREE – nerdess

+0

MARK sözdizimi ne yapar? Üzerinde herhangi bir doküman bulamadım. Teşekkürler! – Xgongiveittoya

İlgili konular