git Git Squash and Rebase Understanding grouping of small, related commits into more significant commits