Come copiare tutti i file in una directory da un altro ramo? Posso elencare tutti i file in quella directory facendoGit: copia tutti i file in una directory da un altro ramo
git ls-tree master:dirname
Posso quindi copiare tutti i file singolarmente facendo
git checkout master -- dirname/filename
Tuttavia, utilizzando i caratteri jolly è stato fino ad ora un totale sicuro. Questo non fa nulla:
git checkout master -- dirname/*.png
Anche Credo di poter utilizzare uno script bash per fare questo, ci deve essere un modo più semplice, giusto?
E se volessi conservare i messaggi di commit per i file copiati? – totels
@totels, in senso stretto non ci sono messaggi di commit associati ai file; il messaggio di commit è associato all'oggetto commit stesso. Questo è quello che sto cercando di indovinare: 'git checkout master - dirname; git aggiungi dirname; git commit -c $ COMMIT_SHA1 --reset-author; 'dove' $ COMMIT_SHA1' potrebbe essere come 'branch_a' e sarebbe l'oggetto commit che ha il messaggio di commit desiderato. Non so a priori come determinare in modo programmatico il commit con la modifica più recente a 'dirname' –
Questo ha un effetto collaterale molto strano. Copia 'dirname' su, ma copia anche tutti i file che si trovano nel file' .gitignore' del ramo 'master'. Qualche idea del perché? – Milimetric