git rebase

Quando il branch in cui stai lavorando viene "superato" dal master, è necessario fare un rebase del master nel tuo branch.

Nel caso che qualcun'altro stia lavorando allo stesso branch, invece di fare la pull, meglio allinearsi all'ultima commit ( o potrebbero esserci dei conflitti )
 
git reset --hard 71def3d
Sul branch ci si assicura di aver unito ( squash ) tutte le commit in una sola. Se c'è casino si fa il reset all'ultima commit buona  es:
 
 
git reset  214c0d2
Se, altro esempio, ci si trova nella condizione di aver incluso nello squash delle commit di altri branch
git reset --hard 214c0d2 e si pushano le modifiche allo storico con il -f ( force ) 
 
git push origin feature/nomebranch -f
 
Adesso che la situazione è pulita, 
 
  • si fa il checkout sul master 
 
git checkout master
 
  • si portano in locale tutte le modifiche del master 
 
git pull origin master
 
  • si va sul branch da mergiare
 
git checkout feature/nomebranch
 
  • si fa il rebase del master sul branch
 
git rebase master
 
e si pusha la modifica nel branch 
 
git push origin feature/nomebranch -f
 
 
 
git reset  214c0d2