Ο κόσμος δεν είναι τέλειος. Συνήθως, δεν μπορούμε να μεταφέρουμε άμεσα κάθε έργο με το οποίο ερχόμαστε σε επαφή στο Git. Μερικές φορές είμαστε κολλημένοι σε ένα έργο που χρησιμοποιεί ένα άλλο VCS και επιθυμούμε να είναι το Git. Θα αφιερώσουμε το πρώτο μέρος αυτού του κεφαλαίου για να μάθουμε τους τρόπους χρήσης του Git ως πελάτη όταν το έργο στο οποίο εργαζόμαστε φιλοξενείται σε διαφορετικό σύστημα.
Σε κάποιο σημείο, μπορεί να θέλουμε να μετατρέψουμε το υπάρχον έργο μας στο Git. Το δεύτερο μέρος αυτού του κεφαλαίου καλύπτει τον τρόπο με τον οποίο μπορούμε να μεταφέρουμε το έργο μας σε Git από διάφορα συγκεκριμένα συστήματα, καθώς και μια μέθοδο που λειτουργεί ακόμα κι εάν δεν υπάρχει κάποιο έτοιμοι εργαλείο εισαγωγής.
Το Git προσφέρει μια τόσο όμορφη εμπειρία για τους προγραμματιστές που πολλοί έχουν βρει έναν τρόπο να το χρησιμοποιούν στον σταθμό εργασίας τους ακόμα κι αν η υπόλοιπη ομάδα τους χρησιμοποιεί ένα εντελώς διαφορετικό VCS. Τέτοιου είδους προσαρμογείς, ονομάζονται ``γέφυρες'' και υπάρχουν μερικοί διαθέσιμοι. Εδώ θα καλύψουμε εκείνους που είναι το πιθανότερο να συναντήσουμε στον έξω κόσμο.
Αν έχουμε υπάρχουσα βάση κώδικα σε άλλο VCS αλλά έχουμε αποφασίσει να αρχίσουμε να χρησιμοποιούμε το Git, πρέπει να μεταφέρουμε το έργο μας με τον ένα ή τον άλλο τρόπο. Αυτή η ενότητα αφορά ορισμένους εισαγωγείς για τα συνήθη συστήματα και στη συνέχεια δείχνει πώς να αναπτύξουμε το δικό μας, προσαρμοσμένο στις ανάγκες μας εισαγωγέα. Θα μάθουμε πώς μπορούμε να εισάγουμε δεδομένα από πολλά από τα μεγαλύτερα συστήματα SCM που χρησιμοποιούνται επαγγελματικά, επειδή αποτελούν την πλειονότητα των χρηστών που μετακινούνται και επειδή είναι διαθέσιμα εργαλεία υψηλής ποιότητας για αυτά τα συστήματα.
Πλέον πρέπει να αισθανόμαστε άνετα να χρησιμοποιούμε το Git ως πελάτη για άλλα συστήματα ελέγχου εκδόσεων ή να εισάγουμε σχεδόν οποιοδήποτε υπάρχον αποθετήριο στο Git χωρίς να χάνουμε δεδομένα. Στο επόμενο κεφάλαιο, θα καλύψουμε τις εσωτερικές διεργασίες του Git έτσι ώστε να μπορέσουμε να χειραγωγήσμουμε κάθε byte, αν χρειαστεί.