Γιατί είναι Git καλύτερη από ανατροπή;

ψήφοι
393

Έχω χρησιμοποιήσει ανατροπή για λίγα χρόνια και μετά τη χρήση SourceSafe , μου αρέσει Subversion. Σε συνδυασμό με TortoiseSVN , δεν μπορώ να φανταστώ πώς θα μπορούσε να είναι καθόλου καλύτερα.

Ωστόσο, υπάρχει ένας αυξανόμενος αριθμός των προγραμματιστών που ισχυρίζονται ότι η ανατροπή έχει προβλήματα και ότι θα πρέπει να κινείται προς τη νέα γενιά των κατανεμημένων συστημάτων ελέγχου εκδόσεων, όπως το Git .

Πώς Git βελτιώσουμε την ανατροπή;

Δημοσιεύθηκε 03/08/2008 στις 23:38
πηγή χρήστη
Σε άλλες γλώσσες...                            


30 απαντήσεις

ψήφοι
548

Git δεν είναι καλύτερο από το Subversion. Αλλά είναι, επίσης, δεν είναι χειρότερη. Ειναι διαφορετικο.

Η βασική διαφορά είναι ότι είναι αποκεντρωμένη. Φανταστείτε ότι είστε ένας προγραμματιστής στο δρόμο, θα αναπτύξει για το laptop σας και θέλετε να έχετε τον έλεγχο πηγή, ώστε να μπορείτε να πάτε πίσω 3 ώρες.

Με το Subversion, έχετε ένα πρόβλημα: Η SVN Repository μπορεί να είναι σε μια θέση που δεν μπορεί να φτάσει (στην εταιρεία σας, και δεν έχετε διαδίκτυο αυτή τη στιγμή), δεν μπορείτε να δεσμευτούν. Αν θέλετε να δημιουργήσετε ένα αντίγραφο του κώδικά σας, θα πρέπει να κυριολεκτικά copy / paste αυτό.

Με Git, δεν έχετε αυτό το πρόβλημα. τοπικό αντίγραφο σας είναι μια αποθήκη, και μπορείτε να αφοσιωθούν σε αυτό και να πάρει όλα τα οφέλη του ελέγχου της πηγής. Όταν ανακτήσει τη σύνδεση με το κεντρικό αποθετήριο, μπορείτε να διαπράξει εναντίον της.

Αυτό φαίνεται καλό στην αρχή, αλλά απλά να έχετε κατά νου την προστιθέμενη πολυπλοκότητα αυτής της προσέγγισης.

Git φαίνεται να είναι το «νέο, λαμπερό, δροσερό» πράγμα. Είναι καθόλου κακό (υπάρχει ένας λόγος Linus έγραψε για την ανάπτυξη του Linux Kernel μετά από όλα), αλλά έχω την αίσθηση ότι πολλοί άνθρωποι άλμα στο τρένο «Distributed Πηγή Ελέγχου» μόνο και μόνο επειδή είναι νέα και είναι γραμμένο από τον Linus Torvalds, χωρίς να γνωρίζοντας γιατί / αν είναι καλύτερα.

Subversion έχει προβλήματα, αλλά το ίδιο κάνει και Git, Mercurial, CVS, TFS ή οτιδήποτε άλλο.

Επεξεργασία: Έτσι αυτή η απάντηση είναι πλέον ετών και εξακολουθεί να δημιουργεί πολλά upvotes, έτσι σκέφτηκα ότι θα προσθέσω μερικές ακόμη εξηγήσεις. Τον τελευταίο χρόνο από τη σύνταξη αυτή, Git έχει αποκτήσει μεγάλη δυναμική και υποστήριξη, ιδίως από ιστοσελίδες όπως το GitHub πραγματικά απογειώθηκε. Είμαι χρησιμοποιώντας τόσο Git και το Subversion σήμερα και θα ήθελα να μοιραστώ κάποιες προσωπικές εικόνα.

Πρώτα απ 'όλα, Git μπορεί να είναι πραγματικά σύγχυση στην αρχή, όταν εργάζονται αποκεντρωμένα. Τι είναι απομακρυσμένη; και πώς να ρυθμίσετε σωστά το αρχικό αποθετήριο; είναι δύο ερωτήματα που ανακύπτουν στην αρχή, ειδικά σε σύγκριση με το απλό «svnadmin δημιουργήσει» SVN, το «init git» Git μπορούν να λάβουν οι παράμετροι --bare και --shared που φαίνεται να είναι η «σωστή» τρόπος για να δημιουργήσει μια κεντρική αποθήκη. Υπάρχουν λόγοι γι 'αυτό, αλλά προσθέτει πολυπλοκότητα. Η τεκμηρίωση της εντολής «ταμείο» είναι πολύ συγκεχυμένη για τους ανθρώπους μετάβαση - η «σωστή» δρόμο φαίνεται να είναι «κλώνος git», ενώ το «ταμείο git» φαίνεται να αλλάξετε κλάδους.

Git λάμπει πραγματικά όταν είστε αποκεντρωμένη. Έχω ένα διακομιστή στο σπίτι και ένα lap-top στο δρόμο, και SVN απλά δεν λειτουργεί καλά εδώ. Με SVN, δεν μπορώ να έχω τοπικό έλεγχο πηγή, αν δεν είμαι συνδεδεμένος στο αποθετήριο (Ναι, ξέρω για SVK ή για τους τρόπους για να αντιγράψετε το repo). Με Git, αυτή είναι η προεπιλεγμένη λειτουργία ούτως ή άλλως. Είναι μια επιπλέον εντολή όμως (git δεσμευτούν δεσμεύεται σε τοπικό επίπεδο, ενώ το git κύρια ώθηση προέλευσης ωθεί τον κύριο κλάδο στον απομακρυσμένο όνομα «προέλευσης»).

Όπως προαναφέρθηκε: Git προσθέτει πολυπλοκότητα. Δύο τρόποι δημιουργίας αποθετηρίων, την ολοκλήρωση της παραγγελίας εναντίον κλώνος, διαπράττουν εναντίον ώθηση ... Πρέπει να ξέρετε ποιες εντολές εργασίας σε τοπικό επίπεδο και οι οποίες λειτουργούν με «το διακομιστή» (υποθέτω οι περισσότεροι άνθρωποι εξακολουθούν σαν ένα κεντρικό «master-αποθετήριο» ).

Επίσης, ο εξοπλισμός εξακολουθεί να είναι ανεπαρκής, τουλάχιστον για τα Windows. Ναι, υπάρχει ένα Visual Studio Addin, αλλά εξακολουθούν να χρησιμοποιούν το git bash με msysgit.

SVN έχει το πλεονέκτημα ότι είναι πολύ πιο απλό να μάθουμε: Υπάρχει αποθήκη σας, όλες οι αλλαγές σε προς την κατεύθυνση αυτή, αν ξέρεις πώς να δημιουργήσετε, να δεσμευτούν και ολοκλήρωση της παραγγελίας και είστε έτοιμοι να πάτε και να pickup πράγματα όπως διακλάδωση, ενημέρωση κλπ αργότερα επί.

Git έχει το πλεονέκτημα ότι είναι πολύ πιο κατάλληλη, αν ορισμένοι προγραμματιστές δεν είναι πάντα συνδεδεμένο με το κύριο repository. Επίσης, είναι πολύ πιο γρήγορα από ό, τι SVN. Και από ό, τι ακούω, διακλάδωση και συγχώνευση υποστήριξη είναι πολύ καλύτερα (το οποίο πρέπει να αναμένεται, καθώς αυτά είναι τα βασικά λόγους που γράφτηκε).

Αυτό εξηγεί επίσης γιατί κερδίζει τόσο πολύ buzz στο Διαδίκτυο, όπως Git είναι ιδανικό για Open έργα Πηγή: Ακριβώς το τραπέζι αυτό, δεσμεύονται τις αλλαγές σας στο δικό σας πιρούνι, και στη συνέχεια να ζητήσει από το αρχικό συντηρητή του έργου για να τραβήξει τις αλλαγές σας. Με Git, αυτό λειτουργεί μόνο. Αλήθεια, να το δοκιμάσετε στο Github, είναι μαγεία.

Αυτό που βλέπω επίσης είναι Git-SVN Γέφυρες: Το κεντρικό αποθετήριο είναι μια ανατροπή των συμφωνιών επαναγοράς, αλλά οι προγραμματιστές τοπικά συνεργαστεί με Git και η γέφυρα στη συνέχεια ωθεί τις αλλαγές τους στο SVN.

Αλλά ακόμα και με αυτή τη μακρά Επιπλέον, εξακολουθώ να σταθεί από κεντρικό μήνυμα μου: Git δεν είναι καλύτερη ή χειρότερη, απλά διαφορετική. Αν έχετε την ανάγκη για «Εκτός σύνδεσης Ελέγχου Πηγή» και την προθυμία να δαπανήσει κάποια επιπλέον χρόνο για να μάθετε αυτό, είναι φανταστικό. Αλλά εάν έχετε ένα αυστηρά συγκεντρωτικό έλεγχο Πηγή και / ή αγωνίζονται για την εισαγωγή Ελέγχου Πηγή στην πρώτη θέση, επειδή οι συνάδελφοί σας δεν ενδιαφέρονται, τότε η απλότητα και εξαιρετική εργαλεία (τουλάχιστον σε Windows) του SVN λάμψη.

Απαντήθηκε 03/08/2008 στις 23:45
πηγή χρήστη

ψήφοι
145

Με Git, μπορείτε να κάνετε σχεδόν τίποτα εκτός σύνδεσης, επειδή ο καθένας έχει το δικό του repository.

Κάνοντας υποκαταστήματα και τη συγχώνευση μεταξύ των κλάδων είναι πραγματικά εύκολο.

Ακόμα κι αν δεν έχετε διαπράξει δικαιώματα για ένα έργο, μπορείτε να έχετε ακόμα το δικό σας χώρο αποθήκευσης στο διαδίκτυο, και δημοσιεύει «αιτήματα ώθηση» για patches σας. Ο καθένας που θέλει patches σας μπορεί να τους τραβήξει στο έργο τους, συμπεριλαμβανομένων των επίσημων συντηρητές.

Είναι ασήμαντο στο τραπέζι ένα έργο, να το τροποποιήσετε, και εξακολουθεί να διατηρεί τη συγχώνευση στις διορθώσεις από το υποκατάστημα HEAD.

Git λειτουργεί για τους προγραμματιστές του πυρήνα του Linux. Αυτό σημαίνει ότι είναι πολύ γρήγορα (πρέπει να είναι), και κλίμακες σε χιλιάδες συμμετέχοντες. Git χρησιμοποιεί λιγότερο χώρο (έως και 30 φορές λιγότερο χώρο για το αποθετήριο Mozilla).

Git είναι πολύ ευέλικτο, πολύ TIMTOWTDI (Υπάρχουν περισσότερα από ένα τρόπο για να το κάνει). Μπορείτε να χρησιμοποιήσετε ό, τι ροή εργασίας που θέλετε, και Git θα την υποστηρίξει.

Τέλος, υπάρχει GitHub , μια μεγάλη περιοχή για τη φιλοξενία τους χώρους φύλαξης Git.

Μειονεκτήματα του Git:

  • Είναι πολύ πιο δύσκολο να μάθουν, γιατί Git έχει περισσότερες έννοιες και περισσότερες εντολές.
  • αναθεωρήσεις δεν έχουν αριθμούς έκδοσης, όπως στην ανατροπή
  • πολλές εντολές Git είναι αινιγματικά, και τα μηνύματα λάθους είναι πολύ δύσχρηστο
  • δεν διαθέτει ένα καλό GUI (όπως η μεγάλη TortoiseSVN )
Απαντήθηκε 04/08/2008 στις 01:24
πηγή χρήστη

ψήφοι
110

Άλλες απαντήσεις έχουν κάνει καλά τη δουλειά του εξηγώντας τα βασικά χαρακτηριστικά του Git (που είναι μεγάλη). Αλλά υπάρχει επίσης τόσα πολλά μικρά τρόπους που συμπεριφέρεται Git καλύτερα και βοηθά να κρατήσει τη ζωή μου πιο υγιής. Εδώ είναι μερικά από τα μικρά πράγματα:

  1. Git έχει μια «καθαρή» εντολή. SVN χρειάζεται απεγνωσμένα αυτή την εντολή, λαμβάνοντας υπόψη πόσο συχνά θα πετάξει επιπλέον αρχεία στο δίσκο σας.
  2. Git έχει την εντολή «διχοτομούν». Είναι ωραία.
  3. SVN δημιουργεί .svn καταλόγους σε κάθε φάκελο (Git δημιουργεί μόνο ένα κατάλογο .git). Κάθε σενάριο που γράφετε, και κάθε grep κάνετε, θα πρέπει να γραφτεί για να αγνοήσει αυτές τις .svn καταλόγους. Θα πρέπει, επίσης, ένα ολόκληρο εντολή ( «svn εξαγωγή») μόνο και μόνο για να πάρετε μια υγιής αντίγραφο των αρχείων σας.
  4. Σε SVN, κάθε αρχείο και φάκελο μπορεί να προέλθει από μια διαφορετική αναθεώρηση ή υποκατάστημα. Κατά την πρώτη, ακούγεται ωραίο να έχουμε αυτή την ελευθερία. Αλλά ό, τι αυτό σημαίνει στην πραγματικότητα είναι ότι υπάρχουν ένα εκατομμύριο διαφορετικούς τρόπους για την τοπική ολοκλήρωση της παραγγελίας σας να βιδωθεί εντελώς. (Για παράδειγμα, αν το «διακόπτη svn» δεν μισά, ή αν εισάγετε λάθος εντολή). Και το χειρότερο είναι: αν έχετε ποτέ σε μια κατάσταση όπου κάποια από τα αρχεία σας προέρχονται από το ένα μέρος, και κάποια από αυτά από την άλλη, η «κατάσταση svn» θα σας πω ότι όλα είναι φυσιολογικά. Θα πρέπει να κάνουμε «svn πληροφορίες» για κάθε αρχείο / κατάλογο για να ανακαλύψετε πόσο περίεργα είναι τα πράγματα. Αν το «καθεστώς git» σας λέει ότι τα πράγματα είναι φυσιολογικά, τότε μπορείτε να εμπιστευθείτε ότι τα πράγματα είναι πραγματικά φυσιολογικό.
  5. Θα πρέπει να πω SVN κάθε φορά που θα μετακινήσετε ή να διαγράψετε κάτι. Git θα το καταλάβω ακριβώς.
  6. Αγνοήστε σημασιολογία είναι πιο εύκολο στο Git. Αν αγνοήσετε ένα πρότυπο (όπως * .pyc), θα πρέπει να αγνοηθεί για όλους τους υποκαταλόγους. (Αλλά εάν θέλετε πραγματικά να αγνοήσει κάτι για ένα μόνο κατάλογο, μπορείτε). Με SVN, φαίνεται ότι δεν υπάρχει εύκολος τρόπος να αγνοήσει ένα πρότυπο σε όλους τους υποκαταλόγους.
  7. Ένα άλλο στοιχείο που αφορούν αγνοήσει τα αρχεία. Git επιτρέπει να έχουμε «ιδιωτική» αγνοούν τις ρυθμίσεις (χρησιμοποιώντας το αρχείο .git / Πληροφορίες / αποκλείσει), η οποία δεν θα επηρεάσει κανέναν άλλο.
Απαντήθηκε 26/09/2008 στις 01:18
πηγή χρήστη

ψήφοι
56

« Γιατί Git είναι καλύτερη από ό, τι το Χ » περιγράφει τα διάφορα πλεονεκτήματα και τα μειονεκτήματα του Git εναντίον άλλων ΔΣΜ.

Εν ολίγοις:

  • Git κομμάτια περιεχομένου και όχι τα αρχεία
  • Τα υποκαταστήματα είναι ελαφρύ και συγχώνευση είναι εύκολο , και εννοώ πραγματικά εύκολο .
  • Είναι διανεμηθεί, ουσιαστικά κάθε αποθετήριο είναι ένας κλάδος. Είναι πολύ πιο εύκολο να αναπτυχθούν ταυτόχρονα και συνεργατικά από ό, τι με το Subversion, κατά τη γνώμη μου. Καθιστά επίσης συνδεδεμένος δυνατή ανάπτυξη.
  • Αυτό δεν επιβάλλει καμία ροή εργασίας , όπως φαίνεται στην παραπάνω συνδεδεμένη ιστοσελίδα , υπάρχουν πολλές ροές εργασίας είναι δυνατόν με Git. Μια ροή εργασίας Subversion στιλ εύκολα μιμήθηκε.
  • Git αποθετήρια είναι πολύ μικρότερα σε μέγεθος αρχείου από αποθετήρια Subversion. Υπάρχει μόνο ένα «.git» κατάλογο, σε αντίθεση με δεκάδες αποθετήρια «.svn» (σημειώστε το Subversion 1.7 και υψηλότερη τώρα χρησιμοποιεί ένα ενιαίο κατάλογο όπως το Git.)
  • Η σταδιοποίηση περιοχή είναι φοβερό, σας επιτρέπει να δείτε τις αλλαγές που θα διαπράξουν, διαπράττουν μερικές αλλαγές και να κάνει διάφορα άλλα πράγματα.
  • Stashing είναι ανεκτίμητη όταν το κάνετε «χαοτική» ανάπτυξη, ή απλά θέλετε να διορθώσετε ένα σφάλμα, ενώ είστε ακόμα εργάζονται για κάτι άλλο (σε διαφορετικό κλάδο).
  • Μπορείτε να ξαναγράψει την ιστορία , η οποία είναι μεγάλη για την προετοιμασία σύνολα μπάλωμα και για τον καθορισμό λάθη σας ( πριν δημοσιεύσετε τα commits)
  • ... και πολλά άλλα.

Υπάρχουν μερικά μειονεκτήματα:

  • Δεν υπάρχουν πολλές καλές GUIs για αυτό ακόμα. Είναι νέα και το Subversion ήταν γύρω για πολύ περισσότερο χρόνο, έτσι αυτό είναι φυσικό, δεδομένου ότι υπάρχουν λίγες διασυνδέσεις στην ανάπτυξη. Μερικοί καλοί περιλαμβάνουν TortoiseGit και GitHub για Mac .
  • Μερική ταμεία / κλώνους αποθετήρια δεν είναι δυνατόν αυτή τη στιγμή (διάβασα ότι είναι σε εξέλιξη). Ωστόσο, υπάρχει υποενότητα υποστήριξη. Git 1.7+ υποστηρίζει αραιά ταμεία .
  • Θα μπορούσε να είναι πιο δύσκολο να μάθουν, αν και δεν βρήκα αυτό να συμβαίνει (πριν από περίπου ένα χρόνο). Git βελτιώθηκε πρόσφατα interface και είναι αρκετά φιλικό προς το χρήστη.

Στην πιο απλοϊκή χρήση, Subversion και Git είναι λίγο πολύ το ίδιο. Δεν υπάρχει μεγάλη διαφορά μεταξύ:

svn checkout svn://foo.com/bar bar
cd bar
# edit
svn commit -m "foo"

και

git clone git@github.com:foo/bar.git
cd bar
# edit
git commit -a -m "foo"
git push

Σε περίπτωση που Git λάμπει πραγματικά διακλάδωση και εργασία με άλλα άτομα.

Απαντήθηκε 10/02/2009 στις 05:18
πηγή χρήστη

ψήφοι
54

Google Tech Talk: Linus Torvalds στο git

http://www.youtube.com/watch?v=4XpnKHJAok8

σελίδα σύγκρισης ΦΑΕ Wiki του

http://git.or.cz/gitwiki/GitSvnComparsion

Απαντήθηκε 03/08/2008 στις 23:44
πηγή χρήστη

ψήφοι
26

Λοιπόν, αυτό είναι που διανέμονται. Benchmarks δείχνουν ότι είναι πολύ πιο γρήγορα (δεδομένου κατανεμημένη φύση της, λειτουργίες όπως diffs και τα αρχεία καταγραφής είναι όλα τα τοπικά οπότε φυσικά και είναι εκπληκτικά ταχύτερα σε αυτή την περίπτωση), και τους φακέλους εργασίας είναι μικρότερες (το οποίο εξακολουθεί να φυσά το μυαλό μου).

Όταν εργάζεστε σε ανατροπή, ή οποιοδήποτε άλλο σύστημα ελέγχου αναθεώρησης client / server, που ουσιαστικά δημιουργούν αντίγραφα στον υπολογιστή σας που εργάζονται από το check-out αναθεωρήσεις. Αυτό αντιπροσωπεύει ένα στιγμιότυπο στο χρόνο ό, τι φαίνεται η αποθήκη παρόμοια. Μπορείτε να ενημερώσετε αντίγραφο εργασίας σας μέσω ενημερώσεις, και να ενημερώσετε το αποθετήριο μέσω commits.

Με ένα κατανεμημένο έλεγχο έκδοσης, δεν έχετε ένα στιγμιότυπο, αλλά ολόκληρη τη βάση. Θέλετε να κάνετε μια διαφορά με 3 μηνών έκδοση; Κανένα πρόβλημα, η παλιά έκδοση 3 μηνών είναι ακόμα στον υπολογιστή σας. Αυτό δεν σημαίνει μόνο τα πράγματα είναι πολύ πιο γρήγορα, αλλά αν είστε αποσυνδεδεμένος από το κεντρικό server σας, μπορείτε ακόμα να κάνετε πολλές από τις ενέργειες που έχετε συνηθίσει. Με άλλα λόγια, δεν έχετε μόνο ένα στιγμιότυπο μιας συγκεκριμένης αναθεώρησης, αλλά ολόκληρη τη βάση.

Θαρρείς ότι Git θα αναλάβει ένα σωρό χώρο στο σκληρό δίσκο σας, αλλά από ένα ζευγάρι σημεία αναφοράς που έχω δει, παίρνει στην πραγματικότητα λιγότερο. Μην με ρωτάτε πώς. Θέλω να πω, χτίστηκε από τον Linus, ξέρει ένα πράγμα ή δύο για συστήματα αρχείων υποθέτω.

Απαντήθηκε 03/08/2008 στις 23:47
πηγή χρήστη

ψήφοι
22

Τα κύρια σημεία που μου αρέσει DVCS είναι αυτές:

  1. Μπορείτε να δεσμευτούν σπασμένα πράγματα. Δεν έχει σημασία γιατί άλλοι λαοί δεν θα τα δείτε μέχρι να δημοσιεύσετε. Δημοσίευση φορά είναι διαφορετική από τη διάπραξη του χρόνου.
  2. Εξαιτίας αυτού, μπορείτε να δεσμευτούν πιο συχνά.
  3. Μπορείτε να συγχωνεύσετε πλήρη λειτουργικότητά. Αυτή η λειτουργικότητά θα έχει τη δική του υποκαταστήματός της. Όλα τα commits αυτού του κλάδου θα πρέπει να σχετίζονται με αυτό το λειτουργικότητά. Μπορείτε να το κάνετε με κεντρικών φλεβικών καθετήρων ωστόσο με DVCS την προεπιλογή της.
  4. Μπορείτε να κάνετε αναζήτηση στο ιστορικό σας (δείτε όταν μια λειτουργία άλλαξε)
  5. Μπορείτε να αναιρέσετε μια έλξη, αν κάποιος καταστρέφει το κεντρικό αποθετήριο, δεν χρειάζεται να διορθώσετε τα λάθη. Απλά καταργήστε την συγχώνευση.
  6. Όταν χρειάζεστε ένα στοιχείο ελέγχου πηγής σε οποιοδήποτε κατάλογο κάνετε: git init. και μπορείτε να δεσμευτούν, αναιρώντας τις αλλαγές, κλπ ...
  7. Είναι γρήγορο (ακόμα και για τα Windows)

Ο κύριος λόγος για ένα σχετικά μεγάλο έργο είναι η βελτιωμένη επικοινωνία που δημιουργείται από το σημείο 3. Άλλοι είναι ωραίο μπόνους.

Απαντήθηκε 04/09/2008 στις 12:06
πηγή χρήστη

ψήφοι
15

Το αστείο είναι: I έργα φιλοξενήσει το Subversion Repos, αλλά πρόσβαση σε αυτά μέσω της εντολής Git Κλώνος.

Παρακαλούμε διαβάστε Ανάπτυξη με Git για ένα έργο Κώδικα Google

Παρά το γεγονός ότι το Google Code μιλάει εγγενώς Subversion, μπορείτε εύκολα να χρησιμοποιήσετε Git κατά τη διάρκεια της ανάπτυξης. Ψάχνοντας για «svn git» δείχνει η πρακτική αυτή είναι διαδεδομένη, και εμείς σας προτείνουμε να πειραματιστείτε με αυτό.

Χρησιμοποιώντας Git σε ένα αποθετήριο SVN μου δίνει πλεονεκτήματα:

  1. Μπορώ να δουλέψω διανέμονται σε διάφορες μηχανές, διαπράττοντας και το τράβηγμα από και προς τους
  2. Έχω ένα κεντρικό backup/public αποθετήριο SVN για τους άλλους να ελέγξετε έξω
  3. Και είναι ελεύθεροι να χρησιμοποιούν Git για τη δική τους
Απαντήθηκε 02/10/2008 στις 14:05
πηγή χρήστη

ψήφοι
11

Όλες οι απαντήσεις εδώ είναι, όπως αναμενόταν, προγραμματιστής επίκεντρο, όμως τι θα συμβεί εάν η εταιρεία σας χρησιμοποιεί έλεγχο αναθεώρηση έξω από τον πηγαίο κώδικα; Υπάρχουν πολλά έγγραφα που δεν είναι πηγαίο κώδικα που επωφελούνται από τον έλεγχο έκδοσης, και θα πρέπει να ζουν κοντά στον κώδικα και όχι σε άλλο CMS. Οι περισσότεροι προγραμματιστές δεν λειτουργούν σε απομόνωση - εργαζόμαστε για τις επιχειρήσεις ως μέρος μιας ομάδας.

Με αυτό κατά νου, συγκρίνετε την ευκολία χρήσης, τόσο σε εξοπλισμό του πελάτη και την κατάρτιση, μεταξύ Ανατροπή και git. Δεν μπορώ να δω ένα σενάριο όπου κάθε κατανεμημένο σύστημα ελέγχου αναθεώρησης θα είναι ευκολότερο να χρησιμοποιήσει ή να εξηγήσει σε ένα μη-προγραμματιστή. Θα ήθελα πολύ να αποδειχθεί λάθος, γιατί τότε θα είναι σε θέση να αξιολογήσει git και στην πραγματικότητα έχουν μια ελπίδα να γίνει αποδεκτή από τους ανθρώπους που έχουν ανάγκη ελέγχου έκδοση που δεν είναι προγραμματιστές.

Ακόμα και τότε, αν ζητηθεί από τη διοίκηση γιατί θα πρέπει να περάσουμε από ένα συγκεντρωτικό να κατανεμημένο σύστημα ελέγχου αναθεώρησης, θα ήθελα να πιεστεί σκληρά για να δώσει μια ειλικρινή απάντηση, γιατί δεν το χρειάζεστε.

Αποποίηση: Έγινα ενδιαφέρονται για την ανατροπή νωρίς (γύρω v0.29) οπότε προφανώς είμαι προκατειλημμένη, αλλά οι εταιρείες που έχω εργαστεί για έκτοτε επωφελούνται από τον ενθουσιασμό μου, γιατί έχω ενθαρρυνθεί και να υποστηριχθεί η χρήση του. Υποψιάζομαι ότι αυτό είναι το πώς συμβαίνει με τις περισσότερες εταιρείες λογισμικού. Με τόσους πολλούς προγραμματιστές άλμα στη μόδα git, αναρωτιέμαι πόσες εταιρείες θα χάσετε τα οφέλη από τη χρήση ελέγχου έκδοσης έξω από τον πηγαίο κώδικα; Ακόμα κι αν έχετε ξεχωριστά συστήματα για διαφορετικές ομάδες, είστε λείπει σε μερικά από τα οφέλη, όπως η (ενιαία) ένταξη θέμα την παρακολούθηση, ενώ αυξανόμενες απαιτήσεις συντήρησης, εξοπλισμού και εκπαίδευσης.

Απαντήθηκε 13/10/2009 στις 08:01
πηγή χρήστη

ψήφοι
9

Subversion εξακολουθεί να είναι μια πολύ πιο χρησιμοποιημένο σύστημα ελέγχου εκδόσεων, το οποίο σημαίνει ότι έχει καλύτερη υποστήριξη εργαλείο. Θα βρείτε ώριμη plugins SVN για σχεδόν οποιοδήποτε IDE , και υπάρχουν καλές επεκτάσεις εξερευνητής διαθέσιμη (όπως TurtoiseSVN). Εκτός από αυτό, θα πρέπει να συμφωνήσω με τον Michael : Git δεν είναι καλύτερη ή χειρότερη από ό, τι το Subversion, είναι διαφορετικό.

Απαντήθηκε 18/09/2008 στις 19:44
πηγή χρήστη

ψήφοι
8

Ο David Richards WANdisco Blog για Subversion / GIT

Η εμφάνιση της GIT έχει φέρει μαζί της μια φυλή των DVCS φονταμενταλιστών - η «Gitterons» - που σκέφτονται οτιδήποτε άλλο εκτός από GIT είναι χάλια. Οι Gitterons φαίνεται να πιστεύουν τεχνολογίας λογισμικού γίνεται με δική τους νησί και συχνά ξεχνάμε ότι οι περισσότεροι οργανισμοί δεν απασχολούν ανώτερους μηχανικούς λογισμικού αποκλειστικά. Αυτό είναι εντάξει, αλλά δεν είναι το πώς η υπόλοιπη αγορά σκέφτεται, και είμαι στην ευχάριστη θέση να το αποδείξει: GIT, κατά την τελευταία εμφάνιση είχε λιγότερο από τρία τοις εκατό της αγοράς, ενώ Subversion έχει στην περιοχή των πέντε εκατομμυρίων χρηστών και περίπου το ήμισυ των το σύνολο της αγοράς.

Το πρόβλημα που είδαμε ήταν ότι οι Gitterons πυροβολούσαν (φθηνά) πυροβολισμούς σε ανατροπή. Tweets όπως το «Subversion είναι τόσο [αργή / μίζερη / περιοριστικά / δεν μυρίζει καλά / κοιτάζει σε ένα αστείο τρόπο] και τώρα έχω GIT και [όλα λειτουργούν στη ζωή μου / γυναίκα μου έμεινε έγκυος / Πήρα μια φίλη μετά 30 χρόνια προσπαθώντας / κέρδισα έξι φορές τρέχει στο τραπέζι blackjack]. Μπορείτε να πάρετε την εικόνα.

Απαντήθηκε 17/09/2010 στις 19:22
πηγή χρήστη

ψήφοι
8

Ένα από τα πράγματα για την ανατροπή που με ενοχλεί είναι ότι βάζει τη δική του φακέλου του σε κάθε κατάλογο του έργου, ενώ το git βάζει ένα στον κατάλογο ρίζας μόνο. Δεν είναι ότι μεγάλο ζήτημα, αλλά λίγα πράγματα προσθέτουν επάνω.

Φυσικά, ανατροπή έχει χελώνα, η οποία είναι [συνήθως] πολύ ωραία.

Απαντήθηκε 22/08/2008 στις 16:24
πηγή χρήστη

ψήφοι
7

Git κάνει, επίσης, διακλάδωση και συγχώνευση πραγματικά εύκολο. Subversion 1.5 μόλις προσθέσατε παρακολούθησης της συγχώνευσης, αλλά Git είναι ακόμα καλύτερα. Με Git διακλάδωσης είναι πολύ γρήγορη και φθηνή. Κάνει δημιουργώντας ένα υποκατάστημα για κάθε νέο χαρακτηριστικό πιο εφικτή. Αχ και να αποθετήρια Git είναι πολύ αποτελεσματική με αποθηκευτικό χώρο σε σύγκριση με το Subversion.

Απαντήθηκε 09/08/2008 στις 04:22
πηγή χρήστη

ψήφοι
6

Εύκολη Git έχει μια ωραία σελίδα συγκρίνοντας την πραγματική χρήση του Git και SVN που θα σας δώσει μια ιδέα για το τι πράγματα Git μπορεί να κάνει (ή να κάνουν πιο εύκολα) σε σύγκριση με το SVN. (Τεχνικά, αυτό βασίζεται στην εύκολη Git, το οποίο είναι ένα ελαφρύ περίβλημα στην κορυφή του Git.)

Απαντήθηκε 22/08/2008 στις 16:19
πηγή χρήστη

ψήφοι
6

Είναι όλα σχετικά με την ευκολία χρήσης / βήματα που απαιτούνται για να κάνει κάτι.

Αν είμαι ανάπτυξη ενός ενιαίου έργου για PC / laptop μου, το git είναι καλύτερη, γιατί είναι πολύ πιο εύκολο να ρυθμίσετε και να χρησιμοποιήσετε. Δεν χρειάζεστε ένα διακομιστή, και δεν χρειάζεται να κρατήσει πληκτρολογώντας τη διεύθυνση URL αποθήκη, όταν κάνετε συγχωνεύσεις.

Αν ήταν μόνο 2 άτομα, θα έλεγα git είναι επίσης πιο εύκολο, γιατί το μόνο που μπορεί να ωθήσει και να τραβήξει από ένας τον άλλο.

Μόλις πάρετε πέρα ​​από αυτό όμως, είχα πάει για την ανατροπή, γιατί σε εκείνο το σημείο θα πρέπει να δημιουργήσει ένα «ειδικό» server ή την τοποθεσία.

Μπορείτε να το κάνετε αυτό εξίσου καλά με το git και με SVN, αλλά τα οφέλη της git να αντισταθμίζεται από την ανάγκη να κάνει επιπλέον βήματα για να synch με ένα κεντρικό server. Σε SVN που μόλις διαπράξουν. Σε git θα πρέπει να git δεσμευτούν, τότε git ώθηση. Το επιπλέον βήμα γίνεται ενοχλητικό απλά επειδή θα καταλήξετε να κάνει τόσο πολύ.

SVN έχει επίσης το πλεονέκτημα της καλύτερης εργαλείων GUI, ωστόσο, το οικοσύστημα git φαίνεται να πλησιάζει γρήγορα, έτσι δεν θα ανησυχείτε για αυτό μακροπρόθεσμα.

Απαντήθηκε 04/08/2008 στις 00:38
πηγή χρήστη

ψήφοι
5

Μου αρέσει Git επειδή βοηθά πραγματικά την ανάπτυξη της επικοινωνίας με την ανάπτυξη σε ένα μέσο για την μεγάλη ομάδα. Ως ένα κατανεμημένο σύστημα ελέγχου έκδοσης, μέσω του συστήματος ώθησης / έλξης του, βοηθά τους προγραμματιστές να δημιουργήσουν έναν πηγαίο κώδικα οικολογικό σύστημα, το οποίο βοηθά να διαχειριστεί μια μεγάλη πισίνα των προγραμματιστών που εργάζονται σε ένα ενιαίο έργο.

Για παράδειγμα, ας υποθέσουμε ότι εμπιστεύεστε 5 προγραμματιστές και τραβήξτε μόνο τους κωδικούς από το αποθετήριο τους. Κάθε μία από αυτές τις προγραμματιστές έχουν το δικό τους δίκτυο εμπιστοσύνης από όπου τραβήξει κωδικούς. Έτσι, η ανάπτυξη βασίζεται σε αυτή την εμπιστοσύνη ύφασμα των προγραμματιστών όπου η ευθύνη κωδικό μοιράζεται ανάμεσα στην ανάπτυξη της κοινότητας.

Φυσικά υπάρχουν και άλλα οφέλη που αναφέρονται σε άλλες απαντήσεις εδώ.

Απαντήθηκε 05/10/2008 στις 17:52
πηγή χρήστη

ψήφοι
5

Git και DVCS σε γενικές γραμμές είναι μεγάλη για τους προγραμματιστές να κάνει πολλά κωδικοποίησης ανεξάρτητα μεταξύ τους, γιατί ο καθένας έχει το δικό τους κλάδο. Αν χρειάζεστε μια αλλαγή από κάποιον άλλο, όμως, έχει να δεσμευτούν για την τοπική repo της και τότε θα πρέπει να ωθήσει ότι changeset σε σας ή θα πρέπει να την τραβήξει από αυτήν.

Η δική μου συλλογιστική κάνει επίσης να σκεφτώ DVCS κάνει τα πράγματα πιο δύσκολο για διασφάλιση της ποιότητας και την απελευθέρωση της διαχείρισης, αν κάνετε πράγματα όπως κεντρικά δελτία. Κάποιος πρέπει να είναι υπεύθυνος για να κάνει αυτό ώθησης / έλξης από το αποθετήριο όλων των άλλων, την επίλυση τυχόν συγκρούσεων που θα έχουν επιλυθεί κατά την αρχική αφιερώσουν χρόνο πριν, στη συνέχεια, κάνει την κατασκευή, και στη συνέχεια, με όλα τα άλλα προγραμματιστές ξανά το συγχρονισμό repos τους.

Όλα αυτά μπορούν να αντιμετωπιστούν με την ανθρώπινη διαδικασίες, φυσικά? DVCS έσπασε μόνο κάτι που είχε καθοριστεί από τον κεντρικό έλεγχο έκδοσης, προκειμένου να παράσχει κάποια νέα ανέσεις.

Απαντήθηκε 04/08/2008 στις 00:08
πηγή χρήστη

ψήφοι
4

Νομίζω ότι το Subversion είναι μια χαρά .. μέχρι να αρχίσουν τη συγχώνευση .. ή να κάνει κάτι περίπλοκο .. ή να κάνει οτιδήποτε ανατροπή σκέφτεται περιπλέκεται (όπως κάνουν ερωτήσεις για να μάθετε ποια καταστήματα μπέρδεμα με ένα συγκεκριμένο αρχείο, εφόσον η αλλαγή στην πραγματικότητα προέρχεται από, την ανίχνευση αντιγραφή και πάστες , και τα λοιπα)...

Διαφωνώ με τη νίκη απάντηση, λέγοντας ότι το κύριο όφελος της GIT είναι offline εργασία - είναι σίγουρα χρήσιμο, αλλά είναι περισσότερο σαν ένα επιπλέον για την περίπτωση χρήσης μου. SVK μπορεί να λειτουργήσει χωρίς σύνδεση πάρα πολύ, ακόμα δεν υπάρχει καμία αμφιβολία για μένα που το ένα να επενδύσουν το χρόνο μάθησης μου in).

Είναι απλά ότι είναι εξαιρετικά ισχυρό και γρήγορο και, επίσης -μετά να συνηθίσει τις έννοιες - πολύ χρήσιμο (ναι, με αυτή την έννοια: φιλικό προς το χρήστη).

Για περισσότερες λεπτομέρειες σχετικά με την ιστορία συγχώνευση, δείτε αυτό: Χρήση git-svn (ή κάτι παρόμοιο) * ακριβώς * για να βοηθήσει με μια συγχώνευση svn;

Απαντήθηκε 27/07/2010 στις 16:40
πηγή χρήστη

ψήφοι
4

Μερικές απαντήσεις αναφέρθηκαν σε αυτά, αλλά θέλω να κάνω 2 σημεία ρητή:

1) Η ικανότητα να κάνουν επιλεκτική commits (για παράδειγμα, git add --patch). Εάν κατάλογο εργασίας σας περιέχει πολλές αλλαγές οι οποίες δεν αποτελούν μέρος της ίδιας λογικής αλλαγής, Git καθιστά πολύ εύκολο να κάνει μια δεσμευτούν ότι περιλαμβάνει μόνο ένα μέρος των αλλαγών. Με Subversion, είναι δύσκολο.

2) Η ικανότητα να δεσμευτούν χωρίς να κάνει το κοινό αλλαγή. Σε Subversion, οποιαδήποτε διαπράξει αμέσως δημόσια, και ως εκ τούτου αμετάκλητη. Αυτό περιορίζει σημαντικά την ικανότητα του έργου να «δεσμευτούν νωρίς, διαπράττουν συχνά».

Git είναι κάτι περισσότερο από ένα VCS? είναι επίσης ένα εργαλείο για την ανάπτυξη μπαλώματα. Subversion είναι απλώς ένα VCS.

Απαντήθηκε 07/08/2009 στις 15:59
πηγή χρήστη

ψήφοι
3

Αυτό είναι το λάθος ερώτημα που πρέπει να ζητήσει. Είναι πολύ εύκολο να επικεντρωθεί σε κονδυλώματα git και διατυπώνει ένα επιχείρημα σχετικά με το γιατί ανατροπής είναι φαινομενικά καλύτερη, τουλάχιστον για ορισμένες περιπτώσεις χρήσης. Το γεγονός ότι το git είχε αρχικά σχεδιαστεί ως ένα χαμηλού επιπέδου ελέγχου έκδοσης σύνολο των κατασκευών και έχει ένα μπαρόκ περιβάλλον linux-developer-προσανατολισμένη καθιστά ευκολότερο για τους ιερούς πολέμους για να κερδίσει την έλξη και την αντίληψη της νομιμότητας. Git υποστηρικτές κτυπήσει το τύμπανο με τα εκατομμύρια των πλεονεκτημάτων της ροής εργασίας, η οποία svn παιδιά διακηρύσσουν περιττή. Πολύ σύντομα όλη η συζήτηση έχει διαμορφωθεί ως κεντρικό vs διανέμονται, η οποία εξυπηρετεί τα συμφέροντα της κοινότητας επιχείρησης εργαλείο svn. Αυτές οι εταιρείες, οι οποίες συνήθως σβήνουν τα πιο πειστική άρθρα σχετικά με την ανωτερότητα ανατροπή στην επιχείρηση, εξαρτώνται από την αντίληψη της ανασφάλειας του git και της επιχειρησιακής ετοιμότητας του SVN για τη μακροπρόθεσμη επιτυχία των προϊόντων τους.

Αλλά εδώ είναι το πρόβλημα: Subversion είναι ένα αρχιτεκτονικό αδιέξοδο .

Εκτιμώντας μπορείτε να πάρετε το git και να οικοδομήσουμε μια κεντρική αντικατάσταση ανατροπή αρκετά εύκολα, παρά το γεγονός ότι εδώ και περισσότερο από δύο φορές εφ 'svn δεν ήταν ποτέ σε θέση να πάρει ακόμη και τις βασικές συγχώνευση παρακολούθησης που εργάζονται πουθενά κοντά τόσο καλά όσο θα το κάνει στο git. Ένας βασικός λόγος για αυτό είναι η απόφαση του σχεδιασμού για να κάνουν τα υποκαταστήματα το ίδιο με τους καταλόγους. Δεν ξέρω γιατί πήγε με αυτόν τον τρόπο αρχικά, σίγουρα κάνει μερική ταμεία είναι πολύ απλή. Δυστυχώς, καθιστά αδύνατο να παρακολουθείτε την ιστορία σωστά. Τώρα, προφανώς είστε υποτίθεται για να χρησιμοποιήσετε την ανατροπή των συμβάσεων διάταξη αποθήκευσης για να διαχωρίσετε υποκαταστήματα από την τακτική τους καταλόγους, και svn χρησιμοποιεί κάποια heuristics για να κάνει τα πράγματα για τις περιπτώσεις καθημερινή χρήση. Αλλά όλα αυτά είναι απλά τοποθέτησης χαρτιού ταπετσαρίας πάνω από μια πολύ φτωχή και τον περιορισμό των αποφάσεων σχεδιασμού χαμηλού επιπέδου. Να είσαι σε θέση να το κάνει μια αποθήκη-σοφός diff (και όχι τον κατάλογο-σοφός ΜΔΠ) είναι βασική και κρίσιμη λειτουργικότητα για ένα σύστημα ελέγχου εκδόσεων, και απλοποιεί σε μεγάλο βαθμό τα εσωτερικά, καθιστώντας δυνατή την κατασκευή πιο έξυπνη και χρήσιμες λειτουργίες πάνω του. Μπορείτε να δείτε το μέγεθος της προσπάθειας που έχει τεθεί σε επέκταση ανατροπής, και όμως πόσο πίσω είναι από την τρέχουσα συγκομιδή των σύγχρονων VCSes από την άποψη των θεμελιωδών λειτουργιών όπως η ανάλυση της συγχώνευσης.

Τώρα εδώ είναι η καρδιά μου, τσόχα και αγνωστικιστής συμβουλές για όποιον εξακολουθεί να πιστεύει Subversion είναι αρκετά καλό για το άμεσο μέλλον:

Subversion ποτέ δεν θα πιάσει μέχρι και τα νεότερα φυλές των VCSes που έχουν μάθει από τα λάθη του RCS και CVS? είναι μια τεχνική αδυναμία εάν δεν ανανεώσει τον εξοπλισμό του μοντέλου αποθετήριο από το μηδέν, αλλά τότε δεν θα ήταν πραγματικά να svn θα είναι; Ανεξάρτητα από το πόσο νομίζετε ότι δεν τις δυνατότητες ενός σύγχρονου VCS, η άγνοια σας δεν θα σας προστατεύσει από τις παγίδες του Subversion, πολλοί εκ των οποίων είναι καταστάσεις που είναι αδύνατον ή εύκολο να επιλυθεί σε άλλα συστήματα.

Είναι εξαιρετικά σπάνιο ότι η τεχνική κατωτερότητα της λύσης είναι τόσο σαφής όσο είναι με svn, σίγουρα θα ήθελα ποτέ να αναφέρει μια τέτοια άποψη για τη νίκη-vs-linux ή emacs-vs-vi, αλλά σε αυτή την περίπτωση είναι τόσο ξεκάθαρες, και η πηγή ελέγχου είναι ένα τέτοιο βασικό εργαλείο στο οπλοστάσιο του κυρίου του έργου, που αισθάνομαι ότι πρέπει να δηλώνεται κατηγορηματικά. Ανεξάρτητα από την απαίτηση να χρησιμοποιούν svn για οργανωτικούς λόγους, εκλιπαρώ όλους svn χρήστες να μην αφήσουμε λογικό μυαλό τους κατασκευάσει μια ψεύτικη πεποίθηση ότι πιο σύγχρονο VCSes είναι χρήσιμα μόνο για τα μεγάλα έργα ανοικτού κώδικα. Ανεξάρτητα από τη φύση της ανάπτυξης δουλειά σας, αν είστε προγραμματιστής, θα είναι μια πιο αποτελεσματική προγραμματιστής αν μπορείτε να μάθετε πώς να χρησιμοποιείτε καλύτερα σχεδιασμένα VCSes, είτε πρόκειται για Git, Mercurial, darcs, ή πολλά άλλα.

Απαντήθηκε 29/05/2011 στις 18:30
πηγή χρήστη

ψήφοι
3

Μου αρέσει πολύ να είναι σε θέση να διαχειριστεί τοπικά υποκαταστήματα του πηγαίου κώδικα μου σε Git, χωρίς muddying το νερό του κεντρικού αποθετηρίου. Σε πολλές περιπτώσεις θα ταμείο κώδικα από το διακομιστή Subversion και να τρέξει ένα τοπικό αποθετήριο Git ακριβώς για να είναι σε θέση να το κάνουμε αυτό. Είναι επίσης μεγάλη η προετοιμασία ένα αποθετήριο Git δεν μολύνει το σύστημα αρχείων με μια δέσμη των ενοχλητικών .svn φακέλους παντού.

Και όσον αφορά την υποστήριξη εργαλείο των Windows, TortoiseGit χειρίζεται τα βασικά πολύ καλά, αλλά προτιμώ ακόμα την γραμμή εντολών αν δεν θέλετε να δείτε το αρχείο καταγραφής. Μου αρέσει πολύ ο τρόπος χελώνα {Git | SVN} βοηθά κατά την ανάγνωση διαπράττουν τα αρχεία καταγραφής.

Απαντήθηκε 10/02/2010 στις 23:54
πηγή χρήστη

ψήφοι
3

Χάρη στο γεγονός ότι δεν χρειάζεται να επικοινωνήσει με έναν κεντρικό server συνεχώς, σχεδόν κάθε εντολή εκτελείται σε λιγότερο από ένα δευτερόλεπτο (προφανώς git ώθησης / έλξης / φέρω είναι πιο αργή απλώς και μόνο επειδή πρέπει να initalise συνδέσεις SSH). Διακλάδωσης είναι πολύ πολύ ευκολότερο (μία απλή εντολή στο υποκατάστημα, μία απλή εντολή να συγχωνευθούν)

Απαντήθηκε 30/08/2008 στις 13:01
πηγή χρήστη

ψήφοι
2

Για τους ανθρώπους που ψάχνουν για ένα καλό Git GUI, Syntevo SmartGit μπορούσε να είναι μια καλή λύση. Ιδιόκτητο της, αλλά και δωρεάν για μη εμπορική χρήση, τρέχει σε Windows / Mac / Linux και ακόμη και υποστηρίζει SVN χρησιμοποιώντας κάποιο είδος git-svn γέφυρα, νομίζω.

Απαντήθηκε 09/03/2011 στις 15:05
πηγή χρήστη

ψήφοι
2

Eric νεροχύτη από SourceGear έγραψε σειρά άρθρων σχετικά με τις διαφορές μεταξύ των κατανεμημένων και nondistributed συστήματα ελέγχου έκδοση. Συγκρίνει πλεονεκτήματα και τα μειονεκτήματα από τα πιο δημοφιλή συστήματα ελέγχου εκδόσεων. Πολύ ενδιαφέρουσα ανάγνωση.
Τα άρθρα μπορούν να βρεθούν στο blog του, www.ericsink.com :

Απαντήθηκε 13/10/2009 στις 14:36
πηγή χρήστη

ψήφοι
2

Subversion είναι πολύ εύκολο στη χρήση. Ποτέ δεν έχω βρεθεί τα τελευταία χρόνια ένα πρόβλημα ή ότι κάτι δεν λειτουργεί όπως αναμένεται. Επίσης, υπάρχουν πολλά εξαιρετικά εργαλεία GUI και η στήριξη για ένταξη SVN είναι μεγάλη.

Με Git μπορείτε να πάρετε μια πιο ευέλικτη VCS. Μπορείτε να το χρησιμοποιήσετε με τον ίδιο τρόπο όπως SVN με ένα απομακρυσμένο αποθετήριο όπου θα δεσμευτούν όλες τις αλλαγές. Αλλά μπορείτε επίσης να το χρησιμοποιήσετε ως επί το πλείστον εκτός σύνδεσης και να ωθήσει μόνο τις αλλαγές που από καιρό σε καιρό για να τον απομακρυσμένο αποθετήριο. Αλλά Git είναι πιο σύνθετη και έχει πιο απότομη καμπύλη εκμάθησης. Βρέθηκα στην πρώτη φορά τη δέσμευση για λάθος κλάδους, δημιουργώντας υποκαταστήματα έμμεσα ή να πάρετε μηνύματα λάθους με όχι πολύ πληροφορίες για το λάθος και όπου πρέπει να ψάξετε στο Google για να πάρει την καλύτερη πληροφορίες. Μερικά εύκολα πράγματα, όπως η υποκατάσταση των δεικτών ($ Id $) δεν λειτουργεί, αλλά GIT έχει ένα πολύ ευέλικτο φιλτράρισμα και γάντζο μηχανισμό για τη συγχώνευση δικά του σενάρια και έτσι μπορείτε να πάρετε όλα τα πράγματα που χρειάζεστε και περισσότερο, αλλά χρειάζεται περισσότερο χρόνο και την ανάγνωση των εγγράφων ?)

Εάν εργάζεστε ως επί το πλείστον χωρίς σύνδεση με την τοπική αποθήκη σας δεν έχετε αντίγραφο ασφαλείας σε περίπτωση που κάτι έχει χαθεί στον τοπικό υπολογιστή σας. Με SVN που ως επί το πλείστον εργάζονται με έναν απομακρυσμένο χώρο αποθήκευσης που είναι και η ίδια στιγμή δημιουργίας αντιγράφων ασφαλείας σε άλλο διακομιστή ... Git μπορεί να λειτουργήσει με τον ίδιο τρόπο, αλλά αυτό δεν ήταν ο κύριος στόχος του Linus να έχουμε κάτι σαν SVN2. Είχε σχεδιαστεί για τους προγραμματιστές του πυρήνα του Linux και των αναγκών ενός κατανεμημένου συστήματος ελέγχου έκδοσης.

Είναι Git καλύτερα στη συνέχεια SVN; Οι προγραμματιστές που χρειάζεται μόνο κάποια ιστορία έκδοση και ένα εφεδρικό μηχανισμό έχουν μια καλή και εύκολη ζωή με SVN. Οι προγραμματιστές που εργάζονται συχνά με κλαδιά, δοκιμές περισσότερες εκδόσεις ταυτόχρονα ή εργάζονται ως επί το πλείστον εκτός σύνδεσης μπορούν να επωφεληθούν από τα χαρακτηριστικά του Git. Υπάρχουν μερικές πολύ χρήσιμες λειτουργίες, όπως stashing δεν βρέθηκε με SVN η οποία μπορεί να κάνει τη ζωή πιο εύκολη. Αλλά από την άλλη πλευρά, δεν είναι όλοι οι άνθρωποι θα πρέπει όλα τα χαρακτηριστικά. Έτσι δεν μπορώ να δω τους νεκρούς του SVN.

Git χρειάζεται κάποια καλύτερη τεκμηρίωση και η αναφορά σφαλμάτων θα πρέπει να είναι πιο χρήσιμη. Επίσης, οι υπάρχουσες χρήσιμα γραφικά περιβάλλοντα είναι σπάνια. Αυτή τη φορά έχω βρεθεί μόνο 1 GUI για το Linux με υποστήριξη από τα πιο χαρακτηριστικά Git (git-cola). Eclipse ένταξη λειτουργεί, αλλά δεν επίσημη του απελευθερώνεται και δεν υπάρχει καμία επίσημη ιστοσελίδα ενημέρωσης (μόνο κάποια εξωτερική ιστοσελίδα ενημέρωσης με περιοδική στηρίζεται από τον κορμό http://www.jgit.org/updates ) Έτσι, το πιο προτιμώμενος τρόπος για να χρησιμοποιήσετε το Git αυτό ημέρες είναι η γραμμή εντολών.

Απαντήθηκε 13/10/2009 στις 14:14
πηγή χρήστη

ψήφοι
1

Γιατί νομίζω ότι το Subversion είναι καλύτερο από το Git (τουλάχιστον για τα έργα που εργάζονται για), κυρίως λόγω της ευχρηστίας του, και απλούστερη ροή εργασίας:

http://www.databasesandlife.com/why-subversion-is-better-than-git/

Απαντήθηκε 22/10/2010 στις 17:25
πηγή χρήστη

ψήφοι
1

Έχω κατοικία στο Git γης τον τελευταίο καιρό, και μου αρέσει προσωπικά σχέδια, αλλά δεν θα είναι σε θέση να αλλάξουν τα σχέδια εργασίας για το ακόμα από ανατροπή με δεδομένη την αλλαγή στον τρόπο σκέψης των απαιτούμενων από το προσωπικό, χωρίς καμία επιτακτική οφέλη. Επιπλέον, το μεγαλύτερο έργο που εκτελείται στο εσωτερικό είναι εξαιρετικά εξαρτάται από svn: εξωτερικοί συνεργάτες που, από ό, τι έχω δει μέχρι τώρα, δεν λειτουργεί τόσο καλά και ομαλά στο Git.

Απαντήθηκε 25/04/2010 στις 22:35
πηγή χρήστη

ψήφοι
1

http://subversion.wandisco.com/component/content/article/1/40.html

Νομίζω ότι είναι αρκετά ασφαλές να πούμε ότι μεταξύ των developers, η Vs. SVN Git επιχείρημα μαίνεται εδώ και αρκετό καιρό τώρα, με όλους που έχουν τη δική τους άποψη για το ποιες είναι καλύτερη. Αυτό ακόμη και μεγάλωσε στο από τις ερωτήσεις κατά τη διάρκεια Webinar μας την ανατροπή το 2010 και μετέπειτα.

Hyrum Wright, διευθυντής μας Open Source και τον Πρόεδρο για την ανατροπή Corporation μιλά για τις διαφορές μεταξύ Subversion και Git, μαζί με άλλα Συστήματα Ελέγχου Κατανεμημένα έκδοση (DVCS).

Μιλά επίσης για τις επικείμενες αλλαγές στο Subversion, όπως Αντίγραφο εργασίας Επόμενης Γενιάς (WC-NG), η οποία πιστεύει ότι θα προκαλέσει έναν αριθμό χρηστών Git για να μετατρέψει πίσω στο Subversion.

Έχετε ένα ρολόι της εικόνας του και πείτε μας τη γνώμη σας είτε σχολιάζοντας αυτό το blog, ή με την ανάρτηση στο φόρουμ μας. Η εγγραφή είναι απλή και θα πάρει μόνο ένα λεπτό!

Απαντήθηκε 10/02/2010 στις 19:51
πηγή χρήστη

ψήφοι
1

Git στα Windows είναι αρκετά καλά υποστηρίζεται πλέον.

Ελέγξτε GitExtensions = http://code.google.com/p/gitextensions/

και το εγχειρίδιο για μια καλύτερη εμπειρία των Windows Git.

Απαντήθηκε 10/02/2010 στις 17:29
πηγή χρήστη

ψήφοι
1

Κατ 'αρχάς, η ταυτόχρονη έλεγχος έκδοσης φαίνεται σαν ένα εύκολο πρόβλημα να λυθεί. Δεν είναι καθόλου. ΤΕΛΟΣ παντων...

SVN είναι αρκετά μη-διαισθητικό. Git είναι ακόμη χειρότερη. [Σαρκαστικό-κερδοσκοπία] Αυτό μπορεί να συμβαίνει επειδή οι προγραμματιστές, ότι όπως και δύσκολα προβλήματα όπως η ταυτόχρονη έλεγχος έκδοσης, δεν έχουν πολύ ενδιαφέρον κάνοντας μια καλή UI. [/ Σαρκαστικός-εικασίες]

SVN υποστηρικτές πιστεύουν ότι δεν χρειάζεται ένα κατανεμημένο σύστημα έκδοσης-ελέγχου. Σκέφτηκα ότι πάρα πολύ. Αλλά τώρα που χρησιμοποιούμε Git αποκλειστικά, είμαι οπαδός. Τώρα ελέγχου έκδοση λειτουργεί για μένα και την ομάδα του / έργου και όχι μόνο εργάζονται για το έργο. Όταν χρειάζεστε ένα υποκατάστημα, υποκατάστημα I. Μερικές φορές είναι ένας κλάδος που έχει ένα αντίστοιχο υποκατάστημα στο διακομιστή, και μερικές φορές δεν το κάνει. Για να μην αναφέρουμε όλα τα άλλα πλεονεκτήματα που θα πρέπει να πάει μελέτη πάνω σε (εν μέρει χάρη στην απόκρυφες και παράλογη η έλλειψη UI που είναι ένα σύγχρονο σύστημα ελέγχου εκδόσεων).

Απαντήθηκε 03/01/2010 στις 13:45
πηγή χρήστη

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more