Most efficient way of working together?

Hi, 

I’m currently in my first year of computer science, and every week we get new assignments to update our program and add features to it, so every week we come together and assign everybody a few of those assignments to finish and eventually manually merge to hand it in. But to manually merge them, we have to upload our code to pastebin and send it over, but this way we easily lose track of what code does what and if we updated that snippet recently. So I thought why not use github, but github has so much features I became a bit overwhelmed. 

Eventually I made a repository and made a branch for every member of my team. So in intelliJ, we can edit the code simultaneously and upload it to github. And then merge everything and update everyone’s branch. But I’m coming to the conclusion this might not be the best way to collaborate.

So my question is: Is there a better way to do this? Does github provide a feature for this? Or should I use something else?

Hi @captaintimo318,

Thanks for this feedback! We’re always working to improve GitHub and the GitHub Community Forum, and we consider every suggestion we receive. I’ve logged your feature request in our internal feature request list. Though I can’t guarantee anything or share a timeline for this, I can tell you that it’s been shared with the appropriate teams for consideration.

Cheers!

Hi @captaintimo318 

What you’re doing with one branch per team member is actually pretty reasonable and pretty common, so well done there! There are alternatives, like everyone working on the master branch and having to pull all changes before they can uplaod to github, but that can become quite cumbersome.

1 Like

There are lots of ways to work together. The name based method with long running branches makes sense when you think of who you integrate with. I personally prefer to think of what feature am I integrating. If you are all working on features in the same application, it might be worth taking  a look at a git flow or a github flow based model. Here is a comparison of the two: https://www.nebbiatech.com/2019/03/15/git-branching-strategies-which-one-should-i-pick/

1 Like