— 🚧 work in progress, come back at the end of the month 🚧 —
Ho imparato a fare uno squash commit, ovvero consiste nel prendere tanti piccoli commit e unirli in uno solo.
Add esempio se vogliamo unire gli ultimi tre commit dobbiamo:
Runnare il seguente codice, per “eliminare” gli ultimi tre commit ma mantenendo le modifiche:
git reset --soft HEAD~3
Approfondimento
HEAD
è un puntatore che indica un commit (in una breach), e possibile cambiare la breach ed il commit a cui punta l’HEAD
utilizzandogit checkout
.HEAD~3
significa “il commit che è 3 genitori fa rispetto al commit corrente”. Il tilde~
è usato per indicare il numero di genitori da risalire.- Il flag
--soft
indica che si vuole mantenere i cambiamenti apportati nei commit successivi, mentre--hard
li cancellerebbe e--mixed
(il default) li lascerebbe nel working directory, ma non nello staging area.oss: si può usare
git log
per vedere le informazioni riguardanti l’HEAD
.
Ed effettuare un commit unendo tutte le modifiche:
git add .
git commit -m "scrivi un messaggio per il commit"
git push --force-with-lease origin <brench>
⚠️ sostituire
<branch>
con il nome della branch su cui caricare le modifiche.
Approfondimento
git add .
aggiunge tutti i file modificati allo staging areagit push --force-with-lease origin <brench>
questo comando forza l’aggiornamento del repository remoto con il nuovo commit squashato, sovrascrivendo la commit history.
Siena
See all the other monthly logs: 📦 Log Archive