2012-01-02 14 views
7

Ho una grande base di codice, dove quasi ogni singolo file non è allineato correttamente, ha una spaziatura errata tra variabili o metodi, o solo un codice generalmente brutto.Qual è un buon modo per gestire i commit clean in git per un progetto legacy?

mi piacerebbe fare meglio come io lavoro con esso, ma sistemato le cose, come l'indentazione fa la storia impegnarsi abbastanza brutto.

Non sto parlando di piccoli problemi di rientro in cui una linea è uno spazio off, sto parlando di qualcosa come

class Xyz 
def foo 
end 

    def bar 
    @something 
end 
    end 

Che cosa è un buon modo per ripulire il codice come questo, pur mantenendo la mia storia pertinente? Dovrei solo allineare automaticamente tutto in una volta e fare un grosso commit?

risposta

8

vorrei risolvere tutto questo in un ramo separato (locale). Una volta che sono pronto vorrei fare una "zucca merge"

git checkout -b cleanup develop 
# Do some cleanup, do some commits and so on 
git checkout develop 
git merge --squash cleanup 
git commit -m "My Cleanup" 
git branch -D cleanup 

In questo modo avrei ricevuto un "enorme commit" con questo cambia, ma io non mi fiderei alcuna auto-formattazione (almeno non del tutto) e Non devo farlo in un giorno, o completamente senza alcun commit fino alla fusione.

1

Si potrebbe fare la pulizia in un ramo separato e quando è fatto fondersi di nuovo nel ramo principale.

Questo ti dà il tempo di ripulire e non devi modificare la cronologia (cosa che non faccio mai)

Problemi correlati