GitHub or Perforce?

Nothing wrong with SVN for a personal repo, though I wouldn’t want to use it on a team at all.

Salutations Jonas,

Personally I’ve been a fan of Visual Studio Team Services. It works with any git client of your choice, and is completely free if you are under 5 developers.
No additional cost for private repos.
Unlike Github and Bitbucket VSTS has absolutely no file size, repo size, or number of repo limits.
It also comes with task management built in, though I haven’t used that part of it.

The problem with Visual Studio Team Foundation Server is that it requires Windows servers, and there are no clients for other OSes (like Linux, for your servers.)

Personally, I use a git repository over SSH and plain git. No GitHub or GitLab needed, unless you want a fancy web GUI for pull requests and such.
I use putty with pageant for my SSH client, which means I have plink.exe as my GIT_SSH link.

Set up a git repository on any server you have command line access to:

[FONT=Courier New]plink account@example.com git init --bare repository.git

Setting up a local folder to be git tracked (Windows shell):

[FONT=Courier New]git init .
copy \users\you\documents\standard-gitignore.txt .gitignore
git commit -a -m “first commit”
git remote add origin account@example.com:repository.git
git push -u origin master

Pulling new changes:

[FONT=Courier New]git pull -r

Pushing committed changes:

[FONT=Courier New]git push

Salutations Jwatte,

Just wanted to clarify that my suggestion was for Visual Studio Team Services, not Visual Studio Team Foundation Server.
VSTS is a hosted git solution that is compatible with any existing git client and does not require any given server.

VSTS can even be used with pure command line git, thought I tend to use SourceTree or Github Desktop Application with it.