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.

Reply via email to