Un collega e io stiamo entrambi lavorando al master in questo momento. Ho un codice nel mio albero di lavoro che non voglio commettere (dichiarazioni di debug e simili). Ora, se commette modifiche a alcuni di questi stessi file, non posso unirli:Come fare git merge per gestire modifiche non vincolanti al mio albero di lavoro?
$ git merge origin/master
Updating 1b8c5c6..eb44c23
error: Entry 'blah.java' not uptodate. Cannot merge.
Provenendo da un background di eversione, io sono abituato ad avere il mio albero di lavoro fuse automaticamente quando tiro cambiamenti dal repository e se ci sono conflitti, li risolvo manualmente.
Il modo più veloce che ho trovato per fare questo in git è:
$ git stash
$ git merge origin/master
$ git stash pop
In sostanza, eliminando le mie modifiche non, a fare la fusione e poi ri-applicare le modifiche. Come posso dire di unire per unire automaticamente il mio albero di lavoro con le modifiche che sto tentando di inserire?
Cosa succede se si verificano conflitti di unione? Cosa succederebbe se si unisse in conflitto con file sporchi (file modificati)? Vedere anche "Divertimento nel mantenere le modifiche locali in giro" nel blog Junio C Hamano (git maintainer): http://gitster.livejournal.com/29060.html –
Grazie per il link. Di nuovo però, nella stragrande maggioranza del tempo, non mi aspetto né conflitti né molto minori che non mi preoccupo di fissare a mano. Corro lo stesso rischio di conflitto se commetto comunque i miei file sporchi, salvo poi devo andare a prendermi la briga di rimandarli dopo. –
Domanda correlata: http://stackoverflow.com/questions/18529206/when-do-i-need-to-do-git-pull-before-or-after-git-add-git-commit – leo9r