Σε αυτό το άρθρο θα προσπαθήσουμε να κατανοήσουμε κάθε πτυχή που μπορεί να μας βοηθήσει να κατανοήσουμε το Staging in Git. Για να παρακολουθούμε τις τροποποιήσεις ή τις αλλαγές στο αρχείο, πρέπει να μεταφέρουμε αυτές τις αλλαγές στην περιοχή σταδιοποίησης που φέρνουμε χρησιμοποιώντας τη Σταδιοποίηση. Η παρακάτω εντολή και αυτή η διαδικασία προσθήκης αυτών των αλλαγών ή τροποποιήσεων σε μια περιοχή για την παρακολούθηση της ονομάζονται σταδιοποίηση. Ενώ Hunk σημαίνει ένα κομμάτι αλλαγών. Για παράδειγμα, έχουμε γράψει 4 γραμμές κειμένου σε ένα αρχείο και τροποποιήσαμε 4 γραμμές κειμένου σε αυτό το αρχείο που είναι γνωστό ως κομμάτι, το οποίο μπορείτε να θεωρήσετε ως ένα κομμάτι αλλαγής.
Η παρακάτω εντολή μπορούμε να χρησιμοποιήσουμε για να προσθέσουμε όλα τα τροποποιημένα δεδομένα ενώ εργαζόμαστε στο git:
git προσθήκη .
Αλλαγές σταδιοποίησης
Εδώ θα επεξεργαστούμε το αρχείο μας a.txt και αφού χρησιμοποιήσουμε την εντολή git status μπορούμε να δούμε ότι δείχνει κάτι στο πράσινο μέρος που σημαίνει ότι το αρχείο είναι σταδιακό αλλά δεν είναι δεσμευμένο και το τμήμα που έρχεται με κόκκινο είναι εκεί. Κάποιες αλλαγές που έγιναν στο αρχείο και οι οποίες δεν βρίσκονται σε στάδιο, για παράδειγμα, μπορούμε να γράψουμε hello στο αρχείο και στη συνέχεια να χρησιμοποιήσουμε το “git add .” εντολή για να το βάλουμε στην περιοχή σταδίου, αλλά μετά από αυτό, αν γράψουμε “bhailogs” στο αρχείο και, στη συνέχεια, αν δεν προσθέσουμε αυτήν την αλλαγή στην περιοχή σταδίου χρησιμοποιώντας την εντολή git add, τότε θα δούμε ότι έχει κόκκινο χρώμα που σημαίνει ότι υπάρχουν κάποιες αλλαγές που πρέπει να παρακολουθηθούν ή να σταδιοποιηθούν. Τώρα θα χρησιμοποιήσουμε διάφορες μεθόδους για να προσθέσουμε αλλαγές σε ένα αρχείο στην περιοχή σταδιοποίησης. Αν θέλουμε να κάνουμε σταδιακά όλες τις αλλαγές, θα χρησιμοποιήσουμε την εντολή git add -A ή git add. όπου αντιπροσωπεύει τον τρέχοντα κατάλογο.
Καταργήστε τη σκηνή ενός αρχείου
Τώρα, αν θέλετε ένα αρχείο να αποστασιοποιηθεί, δηλαδή δεν θέλουμε αυτό το αρχείο να βρίσκεται στην περιοχή σταδίου, οπότε αυτό που μπορούμε να κάνουμε είναι να χρησιμοποιήσουμε την εντολή git reset file_path για να καταργήσουμε το στάδιο ενός αρχείου. Τώρα εδώ μπορούμε να δούμε ότι έχουμε προσθέσει όλα τα αρχεία στην περιοχή σταδίου μετά την εφαρμογή της εντολής κατάστασης git, μπορούμε να δούμε ότι όλα τα αρχεία βρίσκονται στην περιοχή σταδίου, οπότε τώρα θέλω το b.txt να μην βρίσκεται στην περιοχή σταδίου. για να αφαιρέσουμε το b.txt από την περιοχή σταδίου χρησιμοποιήσαμε την εντολή git reset file_path αλλά εδώ βρισκόμαστε μόνο στη διαδρομή, οπότε δεν χρειάζεται να αναφέρουμε ολόκληρη τη διαδρομή στη διαδρομή αρχείου επειδή το b.txt υπάρχει στον τρέχοντα κατάλογό μας. θα γράψει git reset file_name για να καταργήσει το b.txt από την περιοχή σταδίου.
Προσθήκη αλλαγών κατά κομμάτι
Εδώ χρησιμοποιήσαμε την εντολή git add -p και εδώ μπορούμε να δούμε ότι δεν υπάρχουν αλλαγές που πρέπει να γίνουν στη συνέχεια, έχουμε επεξεργαστεί το αρχείο a.txt. Μετά την επεξεργασία
το αρχείο χρησιμοποιήσαμε ξανά την εντολή git add -p εντολή η οποία θα ανοίξει μια διαδραστική προτροπή που θα ρωτήσει τον χρήστη αν θέλουμε να
Σκηνοθετήστε αυτό το κομμάτι μαζί με διάφορες παραμέτρους.
Στάδια του Χουνκ | Εκτελέστηκε δράση |
---|---|
y | Σκηνοθετήστε αυτό το κομμάτι για την επόμενη δέσμευση |
n | μην σκηνοθετήσετε αυτό το κομμάτι για την επόμενη δέσμευση |
q | εγκαταλείπω; μην σκηνοθετήσετε αυτό το hunk ή οποιοδήποτε από τα commit |
a | σκηνοθετήστε αυτό το κομμάτι και όλα τα μεταγενέστερα κομμάτια στο αρχείο |
d | μην σκηνοθετήσετε αυτό το κομμάτι ή οποιοδήποτε από τα μεταγενέστερα κομμάτια του αρχείου |
e | επεξεργαστείτε χειροκίνητα το τρέχον κομμάτι |
? | Βοήθεια για εκτύπωση hunk |
γεγονός που καθιστά εύκολο να δείτε τις αλλαγές που θέλετε να σκηνοθετήσετε ή όχι.
Διαδραστική προσθήκη
Το git add -i είναι η εντολή που μας παρέχει μια διαδραστική διεπαφή μαζί με διάφορες εντολές σε αυτήν τη διεπαφή. Λοιπόν, ας βουτήξουμε βαθιά σε αυτό το διαδραστικό πρόσθετο τι είναι και πώς λειτουργούν οι διάφορες εντολές που παρέχονται στη διεπαφή.
Εδώ μπορούμε να δούμε το επάνω μισό της εξόδου της εντολής μας δίνει την τρέχουσα κατάσταση του ευρετηρίου χωρισμένο σε στήλες με σταδιακή και μη σταδιακή.
- Το a.txt έχει προστεθεί 1 γραμμή και αφαιρούνται 0 γραμμές. Αυτήν τη στιγμή είναι σκηνοθετημένη καθώς η τρέχουσα κατάσταση δεν αναφέρει τίποτα στη στήλη χωρίς σταδιοποίηση.
- Το b.txt έχει προστεθεί 0 γραμμές και έχει αφαιρεθεί 0 γραμμές και έχει σκηνοθετηθεί. Δεν υπάρχουν περαιτέρω αλλαγές αφού έχει σκηνοθετηθεί όπως υποδεικνύεται από τη γραμμή “τίποτα” κάτω από τη στήλη χωρίς σκηνικό.
Το κάτω μισό δείχνει τι μπορείτε να κάνετε. Εισαγάγετε έναν αριθμό (1-8) ή ένα γράμμα (s,u,r,a,p,d,q,h).
status κατάσταση εμφανίζει την έξοδο πανομοιότυπη με το επάνω μέρος της παραπάνω εξόδου..
Τώρα, για να κατανοήσουμε τη λειτουργία της εντολής ενημέρωση αυτό που κάναμε είναι να έχουμε κάνει κάποιες αλλαγές στο a.txt και στη σταδιοποίηση κάθε φορά που τροποποιούμε κάτι στο αρχείο σας ή σε οποιονδήποτε φάκελο, πρέπει να προσθέτουμε αυτές τις αλλαγές στο περιοχή σκηνής. Αλλά δεν έχουμε προσθέσει αυτές τις αλλαγές στην περιοχή της σκηνής. Εδώ, λοιπόν, θα χρησιμοποιήσουμε την εντολή ενημέρωση για να προσθέσουμε αυτό το αρχείο στην περιοχή σταδίου. Όπως μπορείτε να δείτε εδώ κατά τη χρήση της εντολής git status μπορούμε να δούμε ότι έχουμε τροποποιήσει το a.txt αλλά δεν έχουμε προσθέσει αυτές τις αλλαγές στην περιοχή σταδίου.
Ας δούμε τώρατην εντολή ενημέρωση
Μετά τη χρήση της εντολής ενημέρωσης τώρα, αν δούμε την κατάσταση του έργου μας χρησιμοποιώντας κατάσταση git ώστε να δούμε ότι το αρχείο a.txt έχει προστεθεί στην περιοχή σταδίου.
Το revert βασικά επαναφέρει τις πληροφορίες στο κεφάλι. Έτσι, όταν μπείτε στη διαδραστική λειτουργία χρησιμοποιώντας την εντολή add -I και πατήστε το 3 εκεί, θα λάβετε την εντολή επαναφοράς, οπότε αυτό που συμβαίνει τώρα είναι ότι σας δείχνει αρχεία και για ποιο αρχείο θέλετε η επαναφορά να επαναφέρει τις πληροφορίες πίσω στο κεφάλι, μπορείτε πληκτρολογήστε αυτόν τον αριθμό ευρετηρίου και, στη συνέχεια, πατήστε enter. Έτσι, τι θα συμβεί θα αναφέρει έναν αστερίσκο σε αυτή τη θέση του δείκτη. και αν πατήσεις enter μετά βάζει το αντίστοιχο αρχείο στα μη παρακολουθημένα αρχεία.
Έτσι, μπορείτε επίσης να ελέγξετε τώρα
με την εντολή git status ότι το αρχείο b.txt βρίσκεται τώρα στα μη παρακολουθημένα αρχεία.
προσθήκη μη παρακολούθησης σας επιτρέπει να προσθέτετε αρχεία χωρίς παρακολούθηση στην περιοχή σταδιοποίησης.
Τώρα μπορούμε να δούμε ότι το b.txt προστίθεται στην περιοχή σταδιοποίησης.
patch επιτρέπει την επιλογή μιας διαδρομής από έξοδο παρόμοια με την κατάσταση για περαιτέρω ανάλυση
Αλλά εδώ δεν υπάρχουν αλλαγές που πρέπει να γίνουν, επομένως εδώ δεν θα μας δείξει καμία αλλαγή.
διαφορά εμφανίζει τι θα δεσμευτεί.
quit έξοδοςαπό την εντολή
help παρουσιάζει περαιτέρω βοήθεια σχετικά με τη χρήση εντολών.
Σταδιακές αλλαγές : Για να εμφανίσετε τα κομμάτια που σκηνοθετούνται για δέσμευση
Στάδιο ένα μεμονωμένο αρχείο: Τώρα, αν θέλετε να βάλετε ένα μεμονωμένο αρχείο, αυτό που κάνετε είναι να πληκτρολογήσετε την εντολή git add file_name είναι τόσο εύκολο και θα δείτε ότι το αντίστοιχο αρχείο προστίθεται. Τώρα αυτό που έχω κάνει είναι ότι έχω βάλει το b.txt μου στα μη παρακολουθημένα αρχεία χρησιμοποιώντας την εντολή git reset file_name εδώ το file_name μου είναι b.txt και, στη συνέχεια, χρησιμοποίησα την εντολή git add file_name για να φέρω το b.txt μου στην περιοχή σκηνής.
σταδιακά διαγραμμένα αρχεία: Για να καταργήσετε οριστικά ένα αρχείο από το git χρησιμοποιήστε τη σημαία -f στην εντολή git rm -f file_name.
Για να διαγράψετε το αρχείο από το git χωρίς να το αφαιρέσετε από το δίσκο, χρησιμοποιήστε τη σημαία –cached
Έτσι, για να καταλάβετε αυτό, αυτό που έκανα είναι να δημιουργήσω ένα αρχείο r.txt, στη συνέχεια να το προσθέσω στην περιοχή σταδίου και, στη συνέχεια, να το αφαιρέσετε χρησιμοποιώντας τη σημαία –αποθηκευμένη στην προσωρινή μνήμη από το git, οπότε αυτό που συνέβη είναι ότι αφαιρέθηκε από το στάδιο περιοχή αλλά δεν διαγράφηκε από το δίσκο και τοποθετείται από το git στα αρχεία που δεν έχουν εντοπιστεί, οπότε αν θέλω να προστεθεί αυτό το αρχείο r.txt αυτό που θα κάνω είναι να χρησιμοποιήσω το git add r.txt στο προσθέστε αυτό το αρχείο ξανά στην περιοχή σταδιοποίησης.