Ποια είναι η χρήση της εντολής git cherry-pick;
sobes.tech AI
Απάντηση από AI
Για τη μεταφορά μεμονωμένων commits από ένα κλαδί σε ένα άλλο. Επιτρέπει την επιλεκτική εφαρμογή των αλλαγών που παρουσιάζονται από ένα συγκεκριμένο commit, χωρίς την ανάγκη συγχώνευσης ολόκληρου του κλαδιού.
Πλεονεκτήματα:
- Απομονωμένη εφαρμογή αλλαγών.
- Αποφυγή συγκρούσεων συγχώνευσης κατά τη μεταφορά μόνο των απαραίτητων commits.
- Διατήρηση της καθαρότητας της ιστορίας των κλαδιών.
Σύνταξη:
git cherry-pick <hash-του-commit>
Μπορείτε να καθορίσετε πολλαπλά hashes commits ή μια περιοχή commits:
git cherry-pick <hash-commit-1> <hash-commit-2> ...
git cherry-pick <αρχικό-hash>^..<τελικό-hash>
Παράδειγμα χρήσης:
Ας υποθέσουμε ότι υπάρχει ένα κλαδί feature με commits A, B, C, και ένα κλαδί develop. Πρέπει να μεταφέρετε μόνο το commit B στο develop.
- Μεταβείτε στο κλαδί
develop:git checkout develop - Εκτελέστε
cherry-pickγια το commit B (υποθέτοντας ότι το hash του είναιabcdef):git cherry-pick abcdef
Εάν προκύψουν συγκρούσεις, πρέπει να επιλυθούν και στη συνέχεια να συνεχίσετε (git cherry-pick --continue) ή να ακυρώσετε (git cherry-pick --abort).
Εναλλακτικές:
git merge: Συγχωνεύει όλες τις αλλαγές από ένα κλαδί σε ένα άλλο.git rebase: Μετακινεί ή συνδυάζει μια ακολουθία commits σε ένα νέο βασικό commit.
Το git cherry-pick είναι χρήσιμο όταν χρειάζεται να μεταφέρετε επιλεκτικά διορθώσεις σφαλμάτων ή μικρές λειτουργικές αλλαγές μεταξύ κλαδιών.