[Düzenle, Şubat 2017: Bu eski yanıt hala biraz ısınıyor, o yüzden birkaç not ekleyelim. (1) Bu tür canlı güncellemeler genellikle kötü bir fikirdir: neden yaptığınızı bildiğinizden ve kendi çalışmanızı gizlemeyeceğinizden emin olun. (2) Git yılında 2.3 yana, şimdi updateInstead
için receive.denyCurrentBranch
yapılandırabilir, artı bir kanca çimdik Git 2.4 ve sonrası. Ayrıntılar için bkz. the git config
documentation.
Posta alma kancası .
olarak ayarlanmış $GIT_DIR
ile çalıştırılır. Bu, gitmenin .git/HEAD
, .git/refs/heads/master
, vb. Yerine ./HEAD
, ./refs/heads/master
, vb. Için arama yapmasına neden olur. Ancak, kancada $PWD
'u değiştirmek için hiçbir şey yapmadığınız için (yine de gösterildiği gibi), kanca .git
'da çalışır. alt dizini (/home/andrew/web/.git
) ve dolayısıyla bu hata oldukça gizemli: .
aslında geçerli bir git deposu olacak.
yol adı sonrası alma kanca olarak cd ..; git checkout -f
kullanmaktır sabit kodlama önler biri standart numara. $GIT_DIR
ayarının bir sorun haline geldiği yerdir, çünkü cd ..
'dan sonra kanca hala çalışıyorsa (hala bu durumda) /home/andrew/web
ve bu noktada $GIT_DIR
.
yerine .git
olmalıdır. Bunun için standart düzeltme ayarlanmazsa GIT_DIR
basitçe (aynı zamanda çalışacak .git
olarak ayarlamayı).
Sizin sonrası elde etmedikleri (uygun kodlanmış yolu değişiklikleri ile), benim için çalışıyor gösterildiği gibi kanca. Sonra tekrar bir PC değil, Unix benzeri bir makineden itiyorum. .git
alt dizininde dizinleri değiştiren başka bir şey olabilir mi? Bulunduğunuz yeri görmek için kancaya echo running in $PWD
gibi bir şey yapabilirsiniz.
Özellikle itmek için hangi komutu kullanıyorsunuz: uzak URL nedir? – Simon
@Simon ben "git push kökeni" kullanmak ve benim uzaktan URL "[email protected]: Web" dir. – A123321
[email protected]:/home/andrew/web'nin tam yolunu deneyebilirsiniz ama asıl sorunun, uzaktaki repo'nuzun çıplak olmadığını düşünüyorum. Sen itmek zorlamak için deneyebilirsiniz: Ben çıplak REPOS başka denediğim için çok – Simon