Free, Unlimited Private Git Repo Hosting from Visual Studio Online

None of that has anything to do with centralized repositories.

Yes it does.

You were a shitty programmer

I'm not a programmer.

Your team had bad processes in letting untested code

It wasn't code, and this was my 3rd day working there. The process was bad, yes, but I said that. I also told them that, on the first day I became aware of it, and constantly afterwards. I made enemies.

Your company couldn't keep one of the simplest services on earth running reliably.

Neither could 3 others I've worked at, all multi-billion dollar enterprises. It's more common than you think.

you should be talking to your team lead and/or your team first

Disagree strongly. Most of the best things I've come up with over the last 13 years - and all of the inventive, new things - came about because I went off on my own for a bit and tried something without any red tape or approvals, and these have paid off well, and pleased many. If you live in the system all the time, you'll never find the things that are better than that system. I'm not a drone.

10-30 minutes is not a big deal to create a branch

You can't possibly believe that.

under normal circumstances you shouldn't be creating branches very often

Seriouisly. Wtf? I create several per day, per repo.

I'd be quite interested to hear of an example where you'd be creating a branch of a large repository even once per month

Really? Are you sure you're not just looking for a fight? I feel like you don't really care, and just want more reasons to be angry with me.

If you're merging two versions of the same file which have both been modified since the last merge or branch it's going to suck.

I've done this for years in git. It's usually completely automatic. Have you ever used git?

Clean merges are a piece of piss in everything except VSS,

Okay, you're trolling.

A backup which doesn't contain the current state of the project is not a backup

All backups are not of the current state of what they back up, just as "all photos are of you when you were younger" -Mitch Hedberg. Git's backups in a living system are far closer to current than timed backups of centralized systems.

backing up everything except VSS is really easy

You sure about that?

Don't blame the tool for the fact that people were shit at their jobs.

I didn't. I implied that with git, how people were at their jobs were had no effect on me, because it's dumb, which is really smart.

No tool fixes that.

I just made a strong claim that one, in fact, did.

Don't use the tools you have to avoid doing things correctly.

Strongly agree. I even think a lot of tools do things incorrectly, and I'm quite vocal about it.

You should be committing atomic pieces of code that solve particular problems or implement particular features

I do, every single time.

If you're using Git to hide your check in history, you're doing it wrong.

I disagree strongly with you that every commit needs to be seen by all instantly. I might make 6 commits, then decide this isn't the way to go, and jump back to the start and go a different way. This may be half a day, or just a half-hour, but in any case I'm glad at that point that no one started basing things on my bad idea. I fix typos and roll them into earlier commits so things were correct from the start, and no one needs to see some dumb, tiny fixes in their own commits, or oddly ridered into later ones. I rearrange commits for better flow for anyone reading along later, so it's much easier to see how things went together (super useful, even for me looking back at what I've done).

I realize something I've worked on for a week - and not checked in, because it's not yet functioning, and no one is working with me on it, or even expects to be using it for awhile - has been a mix of IP-specific things with something library-level things that should be their own thing, so I unzip the commits into separate lines of commits, and extract the library stuff and rebase it into the library repo. I couldn't have thought of that up front, because I didn't have the domain knowledge necessary yet. I had to get messy for a bit to see through to the underlying needs. Then I cleaned up, and shared beautiful, instructive history in 2 separate projects.

/r/programming Thread Parent Link - blogs.msdn.com