This is rather obvious: The longer you wait before commiting your changes, the more probable it is that someone else modifies the code in such a way that a conflict occurs.

You should really try to commit your changes as often as possible to avoid conflicts.

If you're developing a new feature, it's probably best to land the feature as soon as it is relatively stable.  This allows other developers to see your new API, comment on it, and check that their code works against your new API.

Still, make sure that you [DontBreakTheBuild] before you commit. -- [Asser]