Προσδιορισμός κλωνοποίησης Git Πρώιμα EOFs Σκοτεινό σφάλμα
ο “git clone” η εντολή - όπως υποδηλώνει το όνομά της - σας επιτρέπει να αντιγράψετε ολόκληρο αποθετήριο από απομακρυσμένο σε τοπικό ή αντίστροφα. Αν και είναι μια αρκετά απλή και απλή εντολή git, μερικές φορές, μπορεί να προκύψουν ακόμα προβλήματα.
Νωρίτερα αυτή την εβδομάδα, χτυπήθηκα με ένα σφάλμα κατά την εκτέλεση git clone, και το σφάλμα μοιάζει με το ακόλουθο:
σφάλμα: αντικείμενα πακέτων πέθαναν από σήμα 9,20 MiB | 79.00 σφάλμα KiB / s: git upload-pack: git-pack-αντικείμενα πέθαναν με σφάλμα. fatal: git upload-pack: ακύρωση λόγω πιθανής καταστροφής αποθετηρίου στην απομακρυσμένη πλευρά. απομακρυσμένη: διακοπή λόγω πιθανής καταστροφής του αποθετηρίου στην απομακρυσμένη πλευρά. θανατηφόροι: πρώιμοι ΕΟΦ: 1% (66/3818), 6.04 MiB | 53,00 KiB / s
Μετά από κάποια έρευνα και απομάκρυνση των σφαλμάτων, εδώ είναι οι δύο κύριες αιτίες του θανατηφόρου σφάλματος.
1. Αργή σύνδεση στο Internet
Αιτία σφάλματος
Το αποθετήριο είναι τεράστιο και η σύνδεση στο Internet είναι απλά πολύ αργή.
Αυτό προέκυψε από την προσωπική μου εμπειρία - προσπαθούσα να κλωνοποιήσω ένα αποθετήριο περίπου 1.5Gb. Συνέχισε να αποτυγχάνει σε ασυνεπή τρόπο με διαφορετικό ρυθμό λήψης%, μερικές φορές μετά από 20Mb, μερικές φορές μετά από 60Mb, 200Mb, κ.λπ..
Λύση
Αλλαγή σε μια ταχύτερη και πιο σταθερή σύνδεση στο Internet βοηθά. Με μια ταχύτερη σύνδεση, ήμουν σε θέση να πλησιάσει το 1.5Gb. Σε ένα σημείο είμαι σε θέση να κλωνοποιήσω χωρίς κανένα λάθος.
2. Τεράστιο αποθετήριο
Αιτία σφάλματος
Το αποθετήριο που προσπαθείτε να κλωνοποιήσετε είναι μεγάλο, όσον αφορά το μέγεθος του αρχείου. Κατά την προσπάθεια να το κλωνοποιήσετε, ο απομακρυσμένος διακομιστής απλά δεν έχει αρκετή μνήμη για να αντιμετωπίσει την εκτέλεση.
Λύση
Περιστροφή συμπίεσης. Git κλώνος μερικώς. Όταν είναι επιτυχής, κλωνοποιήστε το υπόλοιπο.
-
Καταρχήν, απενεργοποιήστε τη συμπίεση Git.
git config --global core.compression 0
-
Στη συνέχεια, κάντε μερικός κλώνος του αποθετηρίου με
--βάθος 1
παράμετρο. Αντικαθιστώ[email protected]/path/to/git_repo/
με την πραγματική διαδρομή προς το αποθετήριο.git clone¢Βάθος 1 ssh: //[email protected]/path/to/git_repo/
-
Στη συνέχεια, ανακτήστε το υπόλοιπο του αποθετηρίου.
git fetch - snowshot
-
Τελικά, τελειώστε με ένα κανονικό τράβηγμα.
git fetch - snowshot
Αυτές οι μέθοδοι λύνουν το πρόβλημά μου. Ελπίζω ότι βοηθάει!