I would like to seek opinions on using Git branches (remote branches) for features that are relatively significant in size. The workflow is a well established one with Git and the benefits are the obvious ones:
1. Work on sizable code without breaking the master branch. 2. Have a place to keep code other than on a laptop. 3. Easy way to collaborate, get code reviews, do iterative development etc. I have tried out the basic workflow of creating a local branch and then pushing it remote. Making a simple change in the remote branch and then merging it locally and pushing that change to master. Instead of the merge, we could also create patches if that is more appropriate. For example, I started working on feature KNOX-481, so I did the following: git checkout -b KNOX-481 then, pushed the branch remote, (this command also sets up the remote tracking), git push -u origin KNOX-481 >From here it is regular git commit+push workflow until you are ready to merge. To merge, checkout master, git checkout master. Then, git merge KNOX-481. Although, like I said, a patch could also be created easily. If branches sound like a reasonable idea for features, do we also want a convention around the naming? I used the Jira issue Id in my example. Also, what is the life of the branch? Once all the code for the feature is merged we should probably delete it to prevent clutter. Sumit. -- CONFIDENTIALITY NOTICE NOTICE: This message is intended for the use of the individual or entity to which it is addressed and may contain information that is confidential, privileged and exempt from disclosure under applicable law. If the reader of this message is not the intended recipient, you are hereby notified that any printing, copying, dissemination, distribution, disclosure or forwarding of this communication is strictly prohibited. If you have received this communication in error, please contact the sender immediately and delete it from your system. Thank You.
