Git general workflow:
- Get the latest code from the remote repository
- Create a feature branch for the current task
- Do small commit with high frequency in the feature branch。
- Some urgent task comings, saving the current task by committing to feature branch or using git stash
- Create another feature branch for the urgent task
- Design and commit for the urgent task, then merge to the master branch and push to remote, after that delete the feature branch
- Back to the original feature branch, keep designing。
- When everything is done, merge to master and push to remote。
- Donot change or delete every commit’s comment in remote repository。So wecan track every commit.
Below is the updated workflow by git flow:
- Git flow feature start bugfix001
- Do actual fixing
- Do commit
- When everything is ready, using “eg squash” to merge all the commits to only one commit.
- Switch to the develop branch, using “git svn rebase” to sync the branch with remote repo.
- Switch to the bugfix001 branch, using “git flow feature finish”.
- If no conflict, using “git svn dcommit”
- Ifconflict, fix and dcommit.
The “eg squash” command is from EasyGit, the help info canbe gotten by “eg help squash”.