Hello All,
Stupid question and treat me as completely a newbie to version control.
I'm new to Git (I've used subversion before, but just the basics) I understand the basics of Git and its branching commands, I have an imaginary situation that need your advice.
Suppose my software currently is at v1.2, stable and released.
My Software v1.0 v1.1 v1.1.1 v1.2 <- Current, Compilable and Released
Scenario:
I have two developers, John and Eric.
- John is responsible for bug fixes reported by clients.
- Eric is responsible for new features, experiment with them and work out the kinks.
It's January right now.
John is working on lots of bug fixes based on the v1.2 release. Every day he's required to commit his code back to the repository (GitHub), software might not compile depending on his status.
Eric is experimenting this new wiki feature from basic features like add a WYSIWYG editor, to advanced features like diffing/version control, again, he's required to commit his code back to the repository, software might not compile either depending on where he's at.
Goal
- At any time, I can pull out a stable, compilable v1.2 release
- February, I want v1.3 to be pushed out with all John's bug fixes and depending on if Eric is done (at least have the basic feature done), release that as well.
With GIT, what is the workflow?
If I understand GIT correctly, both Eric and John should create their own branch and in Feb, have them merge what works with the master?
Thanks