Ho appena installato git sul mio server linux e configurato SSH - Voglio creare un repository privato per lavorare con i miei amici. Quando sto tirando o la clonazione che repo tutto funziona bene (LAN), ma quando il mio amico tentativi tirare o clonano (su Internet), git si blocca a:Repository Git privato - si blocca a tirare
remote: Compressing objects: x
dove x è sempre inferiore al 17% .
Cosa c'è di sbagliato o come posso risolvere il problema?
PS: Non utilizzo la gitosi, ho inizializzato il repository remoto con: git --bare init
.
Grazie in anticipo.
Aggiornamento:
I comandi dei risultati:
$ 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)
Tuttavia, quando il mio amico ha ottenuto ZIP con le fonti e lo spinse, tutto ha funzionato bene. Quindi è in grado di spingere. Ho aggiunto un file vuoto e l'ho spinto, lo ha scaricato (tirato) con successo.
È utile quando si esegue 'git gc' sul server-repo? Esistono anche diversi protocolli (ssh/git/static-http/"intelligent" -http) coinvolti? E usi lo stesso account utente sia per i tuoi amici che per i tuoi amici, o sono diversi (sto pensando a problemi di autorizzazione)? – Rudi
@Rudi Beh, quando ho eseguito 'git gc'tl su SSH localmente (il server è in esecuzione sul mio computer) è stato completato, ma quando il mio amico ha provato a fare la stessa cosa è stato congelato (il cursore lampeggia per sempre). Ha cercato di tirare dopo e si è bloccato a 'Comprimere oggetti: 7%'. Sì, abbiamo un account per git, e stiamo usando il protocollo SSH (l'origine è simile a questa, su entrambi i computer): 'ssh: // git @ server_uri: port/~/repo_name.git'. Git repo è nella home directory del git account. A proposito, stiamo usando 'git pull origin master'. – Robik
sembra che ci sia un componente di rete che interrompe la connessione ssh dopo alcuni secondi, molto probabilmente un difetto NAT. Puoi provare con wireshark su entrambe le estremità se ci sono pacchetti TCP della connessione vengono rilasciati dopo un certo periodo di tempo (ho il sospetto che manchino pacchetti ACK server-> client). – Rudi