Come faccio a invertire una specifica pezzo di un commit in Git?
-
27-09-2019 - |
Domanda
Mi chiedo se c'è un modo per specifica pezzo rapidamente rovescio di un commit.
I grado di generare un diff
tra due commit o HEAD
per vedere la differenza.
Come faccio a invertire solo uno di quei grossi pezzi (o, meglio ancora, una serie di grossi pezzi specifici)?
Soluzione
git checkout -p $REF -- path/to/file
Dove $REF
è un nome di rif o commettono ID che specifica il commit si vuole prendere lo stato file. Ad esempio, per selettivamente annullare le modifiche compiuto nell'ultimo commit, uso HEAD^
.
Altri suggerimenti
git difftool $REF -- /path/to/file
dove $REF
è un nome di rif o commettono ID che specifica il commit si vuole prendere lo stato file. Ad esempio, per selettivamente annullare le modifiche compiuto nell'ultimo commit, uso HEAD ^.
Questa domanda è stata già risposto @cdhowie, ma io lo trovo un po 'più bello di utilizzare un difftool interattivo come meld
per selettivamente ripristinare i vecchi fusti / righe di codice, soprattutto se v'è una nuova introduzione, difficile da trovare bug nel codice.
Per recuperare un file cancellato da un precedente commit ho usato la risposta qui:
trovare e ripristinare un file eliminato in un repository Git
git checkout <deleting_commit>^ -- <file_path>