Hello
Now I make every time a zip file of all my files to make backups. But then I heard about svn und later I read that git is "better" than svn. Can someone suggest me with which I should start learning?
Hello
Now I make every time a zip file of all my files to make backups. But then I heard about svn und later I read that git is "better" than svn. Can someone suggest me with which I should start learning?
start from svn, it's concept is easier. then go with git, it's much more powerful.
Neither is "better" than the other; both serve different needs. Subversion is a centralized system; Git is distributed. In Subversion, there is one (and only one) server that everybody reads from and writes to; in Git, each developer has their own repository, and changes are shared by pushing and pulling between these.
If these are your personal files, I recommend to use Git. There is no central server, so it is easier to get started. That being said, Git has a somewhat steeper learning curve, and there are no really good graphical clients; in Windows, as in *nix, you're best off using the command line version.
By all means, use something. Just having .zip files is asking for disaster.
If you've never used source control before, use SVN, since it's easier to grok for newbies. Once you've gotten the hang of it (or are working on a big team), you may want to switch to git or another distributed version control system.
If you are looking for something easy to deploy, have a look at fossil. It is a distributed versioning system like git, but consists only of a single executable. It provides a distributed wiki, ticket system, versioning, all in a self-contained web-server.
Your repository will also be a single file (a sqlite database).
Compared to making zip-file snapshots of code, both git and svn ( or Mercurial or even cvs) can dramatically improve your coding workflow. I'd suggest reading about what the differences are between the different version-control philosophies out there and pick based on how you code and who you need to share with (if anyone).
Learn both! Otherwise you will never value the advantages of a distributed system such as git.
Git will be just slightly harder, but on the long term you will appreciate much more over SVN, specially when branching. If you want to understand that you will have to learn with both. Sooner or later you will have to deal with both of them since they are so popular
I would start with git because probably it will be the one that you will stick to. And the transition to svn will be easier than the other way around (you will have to adapt to the limitations, not learning new concepts)
I personally recommend git - it's easy to work with, and you can mess with things without affecting the copy on the server. You can easily branch stuff off, and a server isn't even needed. If you do need a server, there's github, or you can just use any server with SSH. I never managed to grasp the workflow of SVN.. I'd recommend reading through http://whygitisbetterthanx.com/#svn/ too.
Either option is much, much better than using zip backups. Personally I think that if you're learning from scratch i'd just go with one of the popular distributed systems - Git or Mercurial. I've not used Mercurial but the the more I use Git the more i'm glad I switched from SVN.
It used to be the case that you could only use Git on Windows with Cygwin, but it's perfectly fine these days thanks to Msysgit. TortoiseGit is also a decent GUI interface although once you've gotten a handle on things you'll find yourself doing most things on the command-line anyway.
Also, although Git does have a bit more of a learning curve to it than SVN, its distributed nature makes it very easy to get started with (just cd into a directory and type 'git init' and you're good to go).
The ProGit book by Apress is also available online and a decent reference.