5. DVCS vs CVCS
TU Tran
DVCS: Distributed version control system
Example: Git, Mercurial
CVCS: Centralized Version Control System
Example: CVS, Perforce, SVN
12. Branching Model/ Feature branch
TU Tran
- Scenario:
- Develop should not impact to others during implementing
their tasks/ features
- Solution:
- Create new branch from develop
- Implement your feature there
- Merge back to develop when completed
13. Branching Model/ Release branch
TU Tran
- Scenario:
- Completed features need to be tested before delivering to
customer
- Develops can continue on other features in parallel
- Solution:
- Create new branch from develop
- Testing your complemented features and fix bugs
- Merge to master, develop branches when ready for new
release
14. Branching Model/ Hotfix branch
TU Tran
- Scenario:
- We found bugs on production need to be fixed SAP
- Solution:
- Create new branch from master
- Fix bugs and re-test on staging
- Merge to master, develop branches
Download and install both UI and commandline tool
Clone and perform basic actions in git
Which become common today and why?
Easy to commit the mistake into central repo
Can not work offline
Commit unfinished feature into remote and break others in the team work on the same branch => Hard to co-operate with others
Can work offline, commit local unfinished feature
Push to remote only when finish the feature
Rollback on local
Avoid breaking others
Fast: Commit, reverse, diff on local
Ignore files
Work on the same folder
New code from new branch will sreplace old code
Gitflow tool
Local vs remote
Add more remote source
The team can continue their works while preparing new release
Explain each and when we need it
Team have many members
1 members can break others by typo mistake
It can be future feature, not release at the moment
-> Each member need to have their own work space
We should only have a few members working on this
Explain why we need to merge back to develop
Suitable for minor bugs
Create new branch for big bugs? Or missing features???
Issue found in old version of release , old tag??
If having release branch, merge to release branch instead of develop