On 2016-06-10 14:31, Fernando D. Bozzo wrote:
The IDE integration something comfortable, but normally this kind of use is for the legacy way of working with SCM tools like VSS.
If you want to get the best of a DVCS tool for working with a team and use the more modern "branch by task", like git does, then you need to forget about the integration because you are going to switch between branches, and believe me, once you start working this way, you don't want to go back.
An common example of this "branch per task" is a bug fix:
- You are working on the "main/new-feature-A" branch, and you get
notified that there is an error in production that must be fixed quickly
- You check-in your changes to a personal sub-branch to continue later
then create a branch named "main/hotfix-B" and do the code fixing. Once you get it working, you integrate your code in /main and reintegrate the same fix in your previous work-branch "main/new-feature-A", so you have the latest fix
- Finally, /main goes to production again, containing only the fix and
you change again to your work-branch "main/new-feature-A" to continue with your feature for the next release
This is a simple case, but as you can see, this is something not doable with the legacy integration mode of working. At least not without some option that allows you to switch branches.
The importance of "visualizing" the branches in the SCM/DVCS tool is because you need to get "a picture" of where are you and what are you going to do with the code. It's not more a "checkin" and forget.
Excellent example...thanks!