Easily build a great vocabulary without studying! Now on the App Store!
Click here for more info about the app
There are only two hard things in Computer Science: cache invalidation and naming things. -- Phil Karlton
Typically, we have three main branches at any given time in a project lifecycle.
Master is production ready code, development is actively being worked on and staging is pre-flight testing before deploying master.
master, development and staging.
Features are branched off of development and use underscores to indicate distance from originating branch. For instance
indicates that development_users_reset_password branched off of _development_users branch.
(3 underscores away) would indicate that I was experimenting with a branch off of development users reset password branch.
This provides a nice visual hierarchy when running git branch from the command line. It's also helpful when you have multiple features being worked on by several people and you want to know where these branches are in relation to each other without needing to ask anyone. Here is a more complex example that illustrates the usefulness in using underscores in naming feature branches
development_people_importing_csv * development_people_importing_xml __development_users_password_reset _development_people_importing _development_users development master staging