The aim of this guide is to give a clear description of how we should be utilizing git for version control and how best to sync up development between EEMS and EE for releases.
Receiving Notifications from Bitbucket
Bitbucket provides a convenient way to get updates on a repo. I suggest you subscribe to the repo so you will get email updates when changes are made. To do this go to:
https://bitbucket.org/dsintl/efdc/src/master/
and select click the button highlighted in the top right and select “Manage notifications”
...
Select at least the following:
...
This will keep you up to date on what others are doing to the repository.
Versioning and Synchronization with EE Development
...
I propose the branches should have the following structure:
master - contains code that is ready to be released in conjunction with EE. To differentiate between versions we will use the “git tags” feature. Changes to this branch will be updated with “pull requests” so that someone has a chance to review some of the changes before it goes into production.
develop - this will contain the most up to date features and changes to the code but might not be ready for a release into the master
feature branches - basically all other branches will be feature branches of some sort.
bug fixes - if you want to fix a specific bug I think it would be great to make a bug fix that aligns with a Jira bug report. I think this is a goal for us to get to
Ideal workflow
.
Here is a visual representation of the workflow.
...
Workflow Overview Using the Command Line
**In progress**
Guided Workflow Using Visual Studio
This section will provide a step by step instruction set for using git with Visual Studio’s built in extension. I would recommend installing the Bitbucket specific extension. This will enable you to do pull requests from Visual Studio. https://marketplace.visualstudio.com/items?itemName=MistyK.VisualStudioBitbucketExtension
Open the Team Explorer window in Visual Studio
...
If you are not on the development branch go ahead and find it under remotes/origin. Double click to switch to this branch. Note, if at this point you have unstagged unstaged changes to your current branch git will complain and ask you to commit whatever changes you have.
...
If you no longer need that feature branch you can delete it. If you pushed it to a remote branch you will need to delete it from there as well.
Deleting local
...
Deleting removeremote
...
Now lets say we want to update the version. We can keep track of that with git tags
...
Then click right click the tag you made and click “Push”
...
Pull Requests for Syncing with the Master
Not sure how this is done through the Visual Studio tool, will have to look at that. Worst case I can do it when the time comes. Pushing code to the master should only happen when we need to coordinate with EEMS so it should not be super frequent.