2010-07-19 4 views
16

Sto usando git rerere, ed è utile, ma c'è un problema: quando risolve automaticamente un file, non lo contrassegna come risolto (ad es. Con git add). Quindi se eseguo 'git mergetool', apre il file come se avesse ancora tutti i conflitti.È necessario che git rerere contrassegni automaticamente i file come risolti?

Finora, ho creato un piccolo script di shell che posso chiamare, che analizza tutti i file contrassegnati come in conflitto per i contrassegni di conflitto (ad esempio >>>>>>>) e chiama git-add su di essi se non ne hanno.

C'è un modo migliore per farlo? Qualche bandiera su git rerere mi è sfuggita?

risposta

17

Forse un ambiente git config può aiutare:

rerere.autoupdate 

Quando impostata su true, git-rerere aggiorna l'indice con i contenuti risultanti dopo che risolve in modo pulito conflitti con risoluzione registrato in precedenza.
Il valore predefinito è falso.

Nota: dal Git1.7.0,

"git rerere" avevano configurazione rerere.autoupdate ma non c'era modo di annullare dalla linea di comando;
--no-rerere-autoupdate l'opzione data a "merge", "revert", ecc. Risolve questo problema.

+0

Ah, c'era il mio problema. Stavo cercando nella pagina git-rerere aiuto, che è piuttosto scarso. Non pensavo di sfogliare le altre pagine di Git Man per vedere se anche loro avessero rerere informazioni in loro! – davr