Git - non unire le eliminazioni
-
09-10-2019 - |
Domanda
Ho un develop
ramo con i file:
- index.php
- test.php
Sto creando ramo release
da esso, dove ho impostato le versioni, fare piccole correzioni, ecc, e Elimina test.php , che non va nella release di produzione. Poi voglio fondere questo ramo in develop
ma voglio ramo tenere test.php in sviluppo. Come farlo? comportamento predefinito di git merge
solo elimina il file.
Soluzione
1 / avrei preferito rebase sviluppare ramo (se non si è ancora spinto ad un repo remoto) sulla parte superiore del maestro, per assicurarsi che tutto il mio sviluppo è ancora compatibile con l'ultima release (e tutti i suoi bug-fix).
Se la vostra attuale sviluppo è davvero diverso da stampa (massiccia refactoring), allora e solo allora mi considererei cherry-picking i bug-fix.
2 / Se un file deve essere tenuti come è nel corso di un'unione, è possibile impostare un merge manager in un file .gitattribute
solo nel ramo sviluppo.
Altri suggerimenti
La saggezza convenzionale è che si mai merge da un ramo di release in un ramo di sviluppo. , invece, applicare i bugfix commit per il ramo di sviluppo utilizzando git cherry-pick
.