Sobes.tech
Junior

Ποια είναι η διαφορά μεταξύ της εντολής amend και της εντολής squash στο Git;

sobes.tech AI

Απάντηση από AI

git commit --amend τροποποιεί το τελευταίο commit, προσθέτοντας τις αλλαγές ή διορθώνοντας το μήνυμα του commit. Βασικά, αντικαθιστά το τελευταίο commit με μια νέα έκδοση και δημιουργεί ένα νέο SHA-hash.

git rebase --interactive με την επιλογή squash επιτρέπει το συνδυασμό πολλαπλών διαδοχικών commits σε ένα. Επιλέγετε τα commits που θέλετε να ενώσετε, και το Git δημιουργεί ένα νέο commit που ενώνει όλες τις επιλεγμένες αλλαγές. Η ιστορία των commits ξαναγράφεται, και δημιουργούνται νέα SHA-hash για τα συγχωνευμένα commits και όλα τα επόμενα.