GIT Version Control

instead of delaying and wasting more time, do this.

open a atlassian bitbucket account for your company. - https://www.atlassian.com/software/bitbucket/overview

it is free for 5 users, and unlimited private repositories.

make someone the champion of git. have them understand the basics of a daily workflow. sit the team in a room for 2 hours and talk about using the system. continue on the road to sanity
 
Last edited:
Looks like we are going to be having a meeting on this next week.
 
put in source control.
investigate build servers.
i recommend teamcity and can help you with setting it up if you're using .net

The buildserver you use shouldn't matter (TeamCity, Jenkins, GOCD...). All they should do is execute a series of build scripts:

/update-scm.bat
/build.bat
/test.bat
/package.bat
/deploy.bat
..etc

If your buildserver goes down or you decide to change servers or whatever you should be able to get it up and running very quickly. You should be able to run all those scripts (from build to deploy) on any devs machine if a crisis happens.

If you were to use Jenkins and start using its plugins to pull from GIT etc. then you are becoming way too dependent on a tool.
 
you would have to manually and intentionally do a strange rebase to actually delete history with git. if you had no idea on how to use it, you most likely couldnt even get to that point.
 
you would have to manually and intentionally do a strange rebase to actually delete history with git. if you had no idea on how to use it, you most likely couldnt even get to that point.
I had a guy overwrite and throw away two weeks worth of the team's work (*stares at konfab*) with a merge he did. He is a pretty smart guy and somehow managed to **** it up. I have no idea how he did it, he has no idea how he did it. My only explanation is that he did a force commit/merge or something.

Luckily we fixed it. Cost us some time, but we fixed it.
 
instead of delaying and wasting more time, do this.

open a atlassian bitbucket account for your company. - https://www.atlassian.com/software/bitbucket/overview

it is free for 5 users, and unlimited private repositories.

make someone the champion of git. have them understand the basics of a daily workflow. sit the team in a room for 2 hours and talk about using the system. continue on the road to sanity
We recently changed from SVN to Git. No regrets. Took a while to get it down, but sorted now.
We went with BitBucket and it works perfectly for our needs. The hooks for JIRA also made it a winner.

We went with the attached work flow as it seems to be pretty standard and suits our purposes perfectly.

Edit: Use Sourcetree to accelerate the learning curve. It helped our team get to grips with git pretty quickly.
 

Attachments

  • uploadfromtaptalk1422044382400.jpg
    uploadfromtaptalk1422044382400.jpg
    68.5 KB · Views: 62
The GitHub workflow. That's the one we started them off with and then slowly it morphed into whatever works best for the team. This one requires discipline and admin (and Stash so you have branch permissions)
 
The GitHub workflow. That's the one we started them off with and then slowly it morphed into whatever works best for the team. This one requires discipline and admin (and Stash so you have branch permissions)
Ye - works for us. I have altered it slightly to suit us. Good starting point.
 
A few months ago we moved to Git after many years on SVN and I much prefer it. Complex branching just works. Merging just works. No more Tree Conflicts.

For those that use MS products, the Git integration with Visual Studio is really excellent. Every method has a last edited by time and person above it, with a list of commits that changed it. You can track everything that you are working on right in the IDE. Seriously impressive stuff.

Visualstudio.com gives you 5 users free. For small dev teams it could work well, especially if using MS Visual Studio. Has the benefit of also including project management tools (agile and scrum sprints and iterations etc for task tracking) as well.
 
Git's win is its merge tracking.

Yesterday we migrated an android project from eclipse ADT style to gradle which involves a lot of folder moving, on one branch, while doing bug fixes on another. The merge of the two branches just worked, because Git knows how to merge changes into renamed files. Doing that with svn would not be pleasant.
 
Just make sure you RTFM.

I didn't and Git decided to vape 2 weeks work of code :cry:

Wow, you must have overridden a bunch of warning to succeed to do that. But it is obviously possible.

My opinion, any team bigger than zero should use git. Please do as what your head dev suggests.
 
Wow, you must have overridden a bunch of warning to succeed to do that. But it is obviously possible.

My opinion, any team bigger than zero should use git. Please do as what your head dev suggests.

I didn't, e(vil)git for eclipse automatically merged a branch that I was working on with an older one.

If I have to use it again, I will learn how to do everything manually via command line instead of being lazy and trusting a plugin.

Truth be told, I didn't really have much experience with it. My only exposure to it was in computer science when the lecturers handed out and received code. It was simple back then, we had a nice PDF with all the instructions on it.

Anyway lesson learned, RTFM.
 
Cool thanks for the info. We aren't using in form of version control atm so yes, file sharing it is. The few of us just make sure we're not working on the same files :o

With the theme to a famous spaghetti western wailing in the background, a tumbleweed rolls down the path through town. A programmer relaxes on a wooden bench; hat pushed forward shielding the eyes from the noon day sun, slowly smoking their cigarillo. In this town they do things the Old Way and that's just how they like it!
 
If you want to practice while you learn, set up an account at github.com. You can also use GitHub as your git server. Great for those devs that are remote (you pay to have it private).
 
I didn't, e(vil)git for eclipse automatically merged a branch that I was working on with an older one.

Git allows you to undo a merge, to recover from that kind of mess. However, as you say, at that point it is usually command line and make sure to bring a friend to double check all the actions you take. (Read this a couple of times before you do it: http://stackoverflow.com/questions/2389361/undo-a-git-merge & http://git-scm.com/blog/2010/03/02/undoing-merges.html)

If you want to practice while you learn, set up an account at github.com. You can also use GitHub as your git server. Great for those devs that are remote (you pay to have it private).

Probably good to check out (pun intended) both GitHub and Bitbucket to see which one best suits your needs.
 
Probably good to check out (pun intended) both GitHub and Bitbucket to see which one best suits your needs.

Keep in mind that if the OP works in a corporate environment or work on any kind of "sensitive" work they'll mist likely never be allowed to host their code anywhere that is not inside their network.
 
Top
Sign up to the MyBroadband newsletter
X