Scuste l'OT, ma penso che a qualcuno sia interessato.
Ho un piccolo progettino che gestisco con GIT e gitlab.
(Gitlab è l'alternativa a Github)
Ho due branch: master e develop.
Sviluppo sotto develop e poi faccio il merge su master.
(di fatto faccio un fast-forwad dell'HEAD, ma uso git merge --no-ff per aver un commit del merge)
Vista la semplicità va sempre tutto bene.
Ma all'ultimo git merge --no-ff
4 file sono andati in conflitto
con questa motivazione
CONFLICT (rename/delete): yyyy/default/xxx.yyy deleted in develop and renamed in HEAD. Version HEAD of yyyy/default//xxx.yyy left in tree.
Cosa significa, in pratica?
Di solito, quando c'è un file è in confitto GIT dice qual è e marca le parti in conflitto con
HEAD
====
<branch>
Nel mio caso nei file in conflitto c'era solo il contenuto del file master.
ho fatto
#git add xxx.yyy
#git commit
E ho risolto il conflitto, ma la modifica di xxx.yyy fatta in develop non è entrata in master.
ho fatto
#git checkout develop
#git merge master
e ..... mi sono perso pure la modifica in develp
facendo
git log xxx.yyy ho visto che mi sono perso pure la storia
ho recuperato il tutto
con
#git reset ---hard origin/develop
Poi visto che i file in conflitto erano solo 4 ho deciso di usare questo barba trucco.
# cp xxx.yyy xxx.yyy_origin
# git merge master
# mv xxx.yyy_origin xxx.yyy
# git add xxx.yyy
# git commit -m "boh..."
a questo punto
# git checkout master
# git merge --no-ff
E ho ottenuto quello che volevo.
Cosa è successo?
CIao,
Lorenzo