Po prostu konfiguruję git na moim serwerze linuxowym i skonfigurowałem SSH - chcę stworzyć prywatne repozytorium do pracy z moimi przyjaciółmi. Kiedy jestem ciągnąc lub klonowanie że repo wszystko działa poprawnie (LAN), ale kiedy moi przyjaciel próbuje ciągnąć lub sklonować go (przez Internet), git wisi na:Prywatne repozytorium Git - zawiesza się przy ciągnięciu
remote: Compressing objects: x
gdzie x jest zawsze niższa niż 17% .
Co jest nie tak z tym lub jak mogę to naprawić?
PS: Nie używam gitosis, zainicjowałem to zdalne repo przy pomocy: git --bare init
.
Z góry dziękuję.
Aktualizacja:
Te wyniki poleceń:
$ cat .git/config
[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true
hideDotFiles = dotGitOnly
[remote "origin"]
url = ssh://[email protected]:port/~/repo_name.git
fetch = +refs/heads/*:refs/remotes/origin/*
$ git fetch -v
Enter passphare for key '/c/Users/dev/.ssh/id_rsa':
remote: Counting objects: 76, done.
remote: Compressing objects: 21% (12/55)
Jednak, kiedy mój przyjaciel dostał ZIP ze źródłami i pchnął go, wszystko działało w porządku. Więc jest w stanie naciskać. Dodałem pusty plik i pchnąłem go, pomyślnie pobrał (wyciągnął).
Czy to pomaga, gdy wykonasz 'git gc' na serwerze-repo? Czy są też inne protokoły (ssh/git/static-http/"intelligent" -http)? Czy używasz tego samego konta użytkownika dla dostępu do twoich i twoich znajomych, czy też są inni (myślę o problemach z uprawnieniami)? – Rudi
@Rudi Cóż, kiedy wykonałem 'git gc' przez SSH lokalnie (serwer działa na moim komputerze), to zostało zakończone, ale kiedy mój przyjaciel próbował zrobić to samo, to zamarzło (kursor miga na zawsze). Próbował wyciągnąć po tym i zamarzł na "Kompresowanie obiektów: 7%". Tak, mamy jedno konto dla git i używamy protokołu SSH (początek wygląda tak, na obu komputerach): 'ssh: // git @ server_uri: port/~/repo_name.git'. Git repo znajduje się w katalogu domowym konta git. Nawiasem mówiąc, używamy 'git pull origin master'. – Robik
brzmi to, że istnieje komponent sieciowy, który odrzuca połączenie ssh po kilku sekundach, co najprawdopodobniej oznacza uszkodzenie NAT. Możesz próbować z wireshark na obu końcach, jeśli pakiety TCP zostaną usunięte po pewnym czasie (podejrzewam brakujący serwer pakietów ACK-> klient). – Rudi