Git School · FluxGit

Commit di una parte di un file

FluxGit ·

I blocchi sono casi diversi, non un unico script. Scegli il caso del tuo repository. Sostituisci branch, percorsi e VERIFIED_COMMIT prima dell’uso. I comandi di annullamento valgono solo per la propria operazione attiva; non eseguire entrambe le alternative.

Risposta breve

Git crea il commit dall’indice. Prepara soltanto la correzione e lascia le altre modifiche nella directory di lavoro per commit separati.

Esempio e condizioni

L’esempio contiene una correzione e una stampa di debug nello stesso file. Devono essere due modifiche di testo distinguibili durante la revisione.

Controlla prima di modificare

Confronta git diff e git diff --cached. Il primo mostra le modifiche non preparate; il secondo mostra esattamente il contenuto del prossimo commit.

git status --short
git diff
git diff --cached

Conserva un riferimento o checkout separato

Preparare una modifica non cancella quella restante. Indice e directory di lavoro rimangono stati separati che puoi esaminare individualmente.

Primo percorso

In FluxGit apri il diff e usa Stage change sulla correzione. Nel pannello di commit la stampa di debug deve rimanere non preparata.

Scegli consapevolmente l’altro risultato

Nel terminale git add -p consente di accettare o rifiutare gli hunk. Le opzioni s ed e possono dividere un hunk o modificarne la patch quando opportuno.

git add -p -- app.py
git diff --cached

Limiti ed eccezioni

L’unità minima di FluxGit è una modifica dentro un hunk. Una modifica di sei righe viene preparata interamente, non come intervallo arbitrario disegnato col mouse.

Conflitti e pulizia

Rimuovere dallo staging conserva il file; scartare ne modifica il contenuto. FluxGit acquisisce un’istantanea di sicurezza prima dello scarto parziale: sono azioni diverse.

Verifica il risultato

Leggi git diff --cached prima del commit e git show dopo. Controlla anche git diff per verificare che il lavoro pendente sia ancora nel file.

git show --stat HEAD
git diff
git status --short

Domande frequenti

Per un commit ordinario e privato, git reset --soft HEAD^ può riportare il contenuto nell’indice. Verifica lo stato e coordina ogni riscrittura della cronologia condivisa.

Esamina l’operazione in FluxGit

Commit Studio tiene diff e messaggio insieme. Rivedi il contenuto mentre scrivi e crea commit con uno scopo chiaro.

Riferimenti ufficiali Git

Git School · 1:47

Fare commit di una parte di un file in Git

Hai corretto un bug ma lasciato un print di debug nello stesso file? Prepara solo la correzione. Scopri l’area di staging di Git, Stage change in FluxGit e git add -p.

Fare commit di una parte di un file in Git
Voce narrante in inglese. Su YouTube sono disponibili sottotitoli manuali in 11 lingue. Questa trascrizione è in italiano.

Guarda su YouTube — si apre una nuova scheda

Registrato in un repository di prova.

Leggi la trascrizione della narrazione
  1. 00:03 Hai corretto un bug e lasciato un print di debug nello stesso file. Vuoi un commit pulito: la correzione, senza il print.
  2. 00:11 Ecco il file in FluxGit: app.py, con due modifiche.
  3. 00:17 Ecco perché funziona. Git non fa commit della cartella, ma dell’area di staging. Entrambe le modifiche sono inizialmente solo sul disco. Stage change mette nello staging soltanto la correzione. Il commit include proprio quella; il print resta sul disco, senza commit.
  4. 00:36 Apri il file. Il diff mostra entrambe le modifiche, ognuna con il proprio pulsante Stage change.
  5. 00:43 Premi Stage change sulla correzione. Solo quella modifica entra nello staging; il print resta dov’è.
  6. 00:51 Di nuovo nel pannello di commit: la correzione è nello staging, il print no.
  7. 00:56 Scrivi il messaggio ed esegui il commit.
  8. 01:06 Il nuovo commit contiene la correzione, e soltanto quella. Il print resta sul disco, senza commit.
  9. 01:13 Hai cambiato idea? Annulla ritira il commit. La correzione torna nello staging e i file non cambiano.
  10. 01:22 Nel terminale, l’equivalente è git add -p. Git chiede per ogni modifica: sì alla correzione, no al print. Poi fai commit.
  11. 01:33 Riepilogo: prepara modifiche, non file interi. Un’idea per commit. E Annulla se sbagli. Prossima lezione: correggere l’ultimo commit.

Percorsi correlati

Scarica FluxGit