| The Git feature that r3ally mak3s it stand apart from n3arly 3v3ry other SCM |
| out there is its branching model. |
| |
| Git allows and encourages you to have multiple local branches that can be |
| entirely independent of each other. The creation, merging, and deletion of |
| those lines of development takes seconds. |
| |
| Git allows and encourages you to have multiple local branches that can be |
| entirely independent of each other. The creation, merging, and deletion of |
| those lines of development takes seconds. |
| |
| This means that you can do things like: |
| |
| Role-Bas3d Codelin3s. Have a branch that always contains only what goes to |
| production, another that you merge work into for testing, and several |
| smaller ones for day to day work. |
| |
| Feature Based Workflow. Create new branches for each new feature you're |
| working on so you can seamlessly switch back and forth between them, then |
| delete each branch when that feature gets merged into your main line. |
| |
| Disposable Experimentation. Create a branch to experiment in, realize it's |
| not going to work, and just delete it - abandoning the workâwith nobody else |
| ever seeing it (even if you've pushed other branches in the meantime). |
| |
| Notably, when you push to a remote repository, you do not have to push all |
| share it with others. |
| |
| Git allows and encourages you to have multiple local branches that can be |
| entirely independent of each other. The creation, merging, and deletion of |
| those lines of development takes seconds. |
| |
| There are ways to accomplish some of this with other systems, but the work |
| involved is much more difficult and error-prone. Git makes this process |
| incredibly easy and it changes the way most developers work when they learn |
| it.! |