Pitää jakaa oma nörttivinkki, joka on tuonut itselleni iloa, koska tykkään siitä, että versiohallinnan historia on joksenkin siisti eikä täynnä muutoksia, jotka ovat pelkkiä korjauksia edellisiin muutoksiin. Kyseessä Gitin fixup + autosquash -yhdistelmä. Otetaan esimerkiksi tilanne, jossa teen kaksi commitia, joissa molemmissa luon uuden tiedoston: $ git add file1.txt $ git commit -m "Added file 1" $ git add file2.txt $ git commit -m "Added file 2" Nyt muutoshistoria näyttää tältä: $ git log --oneline 13811d30d Added file 2 aec05fec7 Added file 1 Jos haluan korjata virheen file1.txt -tiedostosta, voin tehdä muutoksen ja sen jälkeen luoda commitin seuraavalla komennolla: $ git commit --fixup aec05fec7 Tämä luo commitin, joka viittaa aikaisempaan commitiin. Muutoshistoria näyttää nyt tältä: $ git log --oneline 398cd9ba0 fixup! Added file 1 13811d30d Added file 2 aec05fec7 Added file 1 Voin luoda useita tällaisia korjauksia. Kun kaikki korjaukset on tehty, voin ajaa seuraavan komennon: $ git rebase -i --autosquash origin/main Git yhdistää automaattisesti kaikki korjaukset osaksi alkuperäisiä commiteja, eikä historiaan jää typeriä korjauksia ja korjausten korjauksia. Muutoshistoria pysyy siistinä! 🧹 ps. Tukisipa Mastodon markdown-syntaksia niin saisi nämä koodiesimerkit tyyliteltyä vähän kivemmin ☺️ #ohjelmointi #git #versionhallinta