What is a good way to manage cleanup commits in git for a legacy project?
Asked Answered
C

2

8

I have a large codebase, where almost every single file isn't aligned properly, has bad spacing between variables or methods, or just generally ugly code.

I'd like to make it better as I work with it, but fixing things like indentation makes the commit history pretty ugly.

I'm not talking about small indentation issues where a line is one space off, I'm talking about something like

 class Xyz
def foo
end

   def bar
  @something
end
   end

What's a good way to clean up code like this, while keeping my history relevant? Should I just auto-align everything at once and do one huge commit?

Ciccia answered 2/1, 2012 at 9:46 Comment(0)
B
9

I would fix all this in a separate (local) branch. Once I'm ready I would make a "squash 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

This way I would get a "huge commit" with this changes, but I would not trust any auto-formatter (at least not completely) and I have not to do it on one day, or completely without any commit until merging.

Bracken answered 2/1, 2012 at 9:53 Comment(0)
L
1

You could do the clean up in a separate branch and when done merge it back into the main branch.

This gives you time to clean up and you do not have to edit history (something I never do)

Lexis answered 2/1, 2012 at 9:56 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.