siamo recentemente passati da SVN a Git e allo stesso tempo abbiamo messo i nostri sistemi live in controllo versione (anziché checkout locale e copia file per vivere).
Nel progetto a cui sono assegnato accediamo tutti allo stesso repository e per rendere effettivi i cambiamenti ci siamo appena git pull
arrivati. Ciò causa problemi perché i nostri webdesigner introducono modifiche nel VCS che non dovrebbero essere ancora attive ma dovrebbero essere nell'ambiente di test Web.
Quando uno degli sviluppatori entra ora in live riceve tutte le modifiche (possibilmente incompiute).
Ho pensato di passare dal vivo a un ramo extra e unire ciò che è cambiato, ma a causa della mia mancanza di conoscenza git non ho idea di come.
La mia idea è:
- Crea una nuova filiale in live (
git branch live
). - Ogni volta che qualcosa deve andare in diretta
- Tirare le modifiche in master (come
git checkout master; git pull; git checkout live
:) git merge master
- Tirare le modifiche in master (come
Il problema è che passare al master o trascinare tutto direttamente nel sistema live causerebbe problemi, quindi preferirei evitare questo.
C'è un modo per farlo o c'è un modo migliore per gestire il sistema Live (tranne che per addestrare i webbies a non spingere roba incompiuta).
git checkout -f
per ignorare il problema, ma fare un backup!
git pull --all
per impostazione predefinita non trascinerà il master in live, tirerà il master e lo unirà con master e (se esistente sul server) tirerà live per unire in live. Hai provato?