Il mio attuale git status
si presenta così:Git parziali commit di modifiche messo in scena
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# modified: docs/file3.org
# modified: src/main/R/lib.R
#
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: docs/file3.org
# modified: src/main/R/lib.R
vorrei commettere il scena modifiche docs/file3.org
prima, poi l'altro modifiche in scena. Ma se faccio git commit -m '...' docs/file3.org
, commuterà entrambe le modifiche non pianificate di & a quel file.
C'è un modo semplice per farlo? O ho bisogno di stash
le mie modifiche non applicate, lo stemperamento di uno dei file, commit l'altro, restage, commit, e stash pop
?
È possibile che il comportamento di 'git commit' sia cambiato da quando hai postato questa domanda, ma a partire da dicembre 2015, il comando che hai provato (specificando i percorsi che avresti voluto commettere) dovrebbe funzionare. Dalla [documentazione] (https://git-scm.com/docs/git-commit) di git commit - unica opzione: * Effettuare un commit prendendo il contenuto aggiornato della struttura di lavoro dei percorsi specificati nel comando linea, ignorando qualsiasi contenuto che è stato messo in scena per altri percorsi. Questa è la modalità predefinita di funzionamento di git commit se nella riga di comando sono presenti dei percorsi, nel qual caso questa opzione può essere omessa. * – waldyrious
In realtà mi aspetterei che 'git commit' (senza percorsi specificati) per il commit * solo messo in scena * modifiche. Ad ogni modo, un'altra opzione sta usando 'git gui' per le operazioni di stage e commit. – aweibell