Πώς να κάνετε τα μηνύματα δέσμευσής σας φοβερά και να κρατήσετε την ομάδα σας ευτυχισμένη

Τα μηνύματα δέσμευσης είναι σημαντικά μέσα επικοινωνίας μεταξύ των μελών της ομάδας

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

Κατά την ανάλυση του κώδικα ή τον εντοπισμό σφαλμάτων, όλοι έχουμε ερωτήσεις όπως:

  • Γιατί είναι αυτή η περίπτωση εδώ;
  • Ποιος ξέχασε να ενημερώσει το υποκατάστημα;
  • Τι αντίκτυπο είχε αυτή η αλλαγή;
  • Πώς μπορεί αυτή η αλλαγή να διορθώσει ή να βελτιώσει τον κώδικα;

Για το σκοπό αυτό, το git-الزام μας επιτρέπει να ανακαλύψουμε ποια αναθεώρηση ήταν η τελευταία που άλλαξε το αρχείο. Αλλά απλά γνωρίζοντας ότι δεν είναι αρκετά καλό. Θα ήταν χρήσιμο να διαβάσετε πραγματικά το μήνυμα δέσμευσης για να καταλάβετε τι πραγματικά συνέβη εκεί.

Πρέπει να διαβάσουμε το μήνυμα για να βιώσουμε την πραγματική αξία ενός καλού μηνύματος δέσμευσης και να έχουμε κίνητρο να τα γράψουμε.

Μερικές βέλτιστες πρακτικές

Έτσι, εάν η πλειονότητα των δεσμεύσεών σας στο Git έχουν δημιουργηθεί με κάτι σαν αυτό, git commit -m "9000 — Bug fixes issue"τότε την επόμενη φορά δοκιμάστε αυτήν την οδηγία:

Ποτέ μην χρησιμοποιείτε το oit git. -m sg& gt; / --message= gt; flag t

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

Η πρώτη γραμμή πρέπει πάντα να αποτελείται από 50 χαρακτήρες ή λιγότερους και να ακολουθείται από μια κενή γραμμή.

Γράψτε μια επιτακτική ένταση: "Διορθώστε το σφάλμα". [ Προσθήκη | Επιδιόρθωση | Κατάργηση | Ενημέρωση | Refactor ] Η συνεπής διατύπωση διευκολύνει τη διανοητική επεξεργασία μιας λίστας δεσμεύσεων.

72 χαρακτήρες τυλιγμένη μεγαλύτερη περιγραφή.

Συχνά αρκεί ένα θέμα από μόνο του.Όταν δεν είναι, προσθέστε μια κενή γραμμή (αυτό είναι σημαντικό) ακολουθούμενο από μία ή περισσότερες παραγράφους τυλιγμένες σε 72 χαρακτήρες.

Αυτές οι παράγραφοι πρέπει να εξηγούν:

Γιατί είναι απαραίτητη αυτή η αλλαγή;

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

Πώς αντιμετωπίζει το ζήτημα;

Περιγράψτε, σε υψηλό επίπεδο, τι έγινε για να επηρεάσει την αλλαγή. Εάν η αλλαγή σας είναι προφανής, ενδέχεται να μην μπορείτε να απαντήσετε σε αυτήν την ερώτηση.

Τι παρενέργειες έχει αυτή η αλλαγή;

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

# 50-character subject line## 72-character wrapped longer description. This should answer:## * Why was this change necessary?# * How does it address the problem?# * Are there any side effects?## Include a link to the ticket, if any.

Πώς να κάνετε τη ζωή σας πιο εύκολη

Είναι πολλά να θυμάστε, αλλά μπορείτε να ρυθμίσετε ένα πρότυπο μηνύματος δέσμευσης χρησιμοποιώντας το commit.template

Διαμορφώστε το Git για να χρησιμοποιήσετε ένα αρχείο προτύπου (για παράδειγμα .gitmessage) και, στη συνέχεια, δημιουργήστε το αρχείο προτύπου με το Vim:

git config --global commit.template ~/.gitmessagevim ~/.gitmessage

Όταν εκτελούμε git commitχωρίς τη -mσημαία μηνύματος, ο συντάκτης θα ανοίξει το χρήσιμο πρότυπο μας έτοιμο να ξεκινήσει:

# [Add/Fix/Remove/Update/Refactor/Document] [summary]# Why is it necessary? (Bug fix, feature, improvements?)-# How does the change address the issue? -# What side effects does this change have?-# Include a link to the ticket, if any.

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

Ιχνηλάτες θέμα στο GitHub και Bitbucket οι δύο αναγνωρίζουν τις λέξεις-κλειδιά close, fixκαι resolveακολουθείται αμέσως από τον αριθμό αίτησης έκδοσης ή τράβηγμα.

Νομίζω ότι ο Linus θα ήταν πολύ χαρούμενος αν δεν το χρησιμοποιούσαμε git commit -m "Fix bug"ξανά σε δημόσιο αποθετήριο :)

Μπορείτε να κάνετε απλή αναζήτηση στο αρχείο καταγραφής git για έναν αριθμό ζητήματος, για παράδειγμα με git log --grep=JIRA-1234

Μπορείτε επίσης να χρησιμοποιήσετε προσθήκες όπως vim-fugitiveγια το vim ή git lensγια τον κωδικό vs για γρήγορη πρόσβαση σε μηνύματα git.

Κλείνοντας σκέψεις

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

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

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

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