On Mon, Nov 09, 2009 at 07:47:08PM +0100, B Smith-Mannschott wrote: > > You don't have to wait to comitting to your own branches, but do make > sure to run your usual builds and tests before pushing or asking > another to pull changes from you. Yes, it is one most useful feature of Git that you can commit (save) your changes immediately but amend them later. This helps a lot to make changes smaller, cleaner and easier to review. With many other VCS, a typical policy is that you do not commit your changes unless you have finished and tested them. But it means that your changes are not committed and stored only in the work tree for a long time. Moreover, when you eventually decide that they are good enough to commit, you will produce a huge patch, which will be difficult to review or to bisect history later. With Git you do not have to worry about testing when you can commit your changes. Typically I would commit some my changes as I progress to my goal, but later I will review all commits. Probably, squash some changes with fixes, clean up some other, add better explanations of what is done and why, etc... But I do not have to worry about all those trifles as I write code to see if some feature is worth or not, if this solution works or I should try something else... So, you can always commit your changes as your progress to your goal and review amend them later before publishing. This means that you can have as many work-in-progress branches as you wish, and you do not need a separate work tree for each of them -- everything can be stored in the repository, and you can go to another computer, issue 'git fetch' and continue your work at the exact point where you left it. So, it is very flexible. Dmitry -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html