I plan to master the work with version control systems. Git seemed complicated ((What are more simplified systems? Predominantly plan to work alone
Closed due to the fact that off-topic participants Nick Volynkin ♦ , Sergey Snegirev , Kromster , Evgeny Karavashkin , Athari July 21, '15 at 23:14 .
It seems that this question does not correspond to the subject of the site. Those who voted to close it indicated the following reason:
- " Questionnaires are forbidden on Stack Overflow in Russian . To get an answer, rephrase your question so that it can be given an unambiguously correct answer." - Nick Volynkin, Sergey Snegirev, Kromster, Evgeny Karavashkin, Athari
- 2Try another hg (mercury), svn (subversion) - gecube
- Where are the fans of hg, prefoce and bazzar? - rnd_d
- Whatever git seems, but you need to know it. - Lucky
- Nobody even remembered darcs with its algebra patches :) - drdaeman 5:53
- Curious: http://githowto.com/ru Git is a powerful and complex distributed version control system. Understanding all the features of git opens up new horizons for the developer to manage source code. http://svnhowto.com/ SVN is a powerful and free centralized version control system. Understanding all the possibilities of SVN opens up new horizons for the developer in source code management. - avp
10 answers
For working alone, svn is fine. It is much easier to use git'a and this is very captivating. But I wouldn't advise him to a newbie. On the contrary, it would even ban. The fact is that svn cripples the brain. It produces bad habits in humans. Many times I have seen people who, having switched from svn to git, could not really enjoy the possibilities of this full version control system. In git, they worked as if it was svn. About the same thing happens to people about what Dijkstra said when he spoke in favor of banning the study of BASIC in schools. According to him, it is necessary to protect children from the destructive influence of BASIC simplicity. After they learn to program in BASIC, it is almost impossible to teach them how to program normally in any real language.
However, if git still seems too complicated and this false fear (whose eyes are large) cannot be overcome, the system is simpler - Fossil . For single work, it fits a little more than completely. In addition, she immediately teaches the right things - to get tickets and keep up to date wiki. Both of these functions are built right into the version control system itself. Its author, as well as in the case of git, is a far from accidental person - a SQLite developer.
- @Shamov, do you really (several times a week) use something other than the trivial update of other pieces and commit yours? IMHO in the correct team (in the active development phase) one file does not change by several people. - avp
- @avp, well, as if the project file with the addition of new files can easily be exchanged by several people at the same time + any garbage that many parts of the system use, such as settings, this is for vind. - aknew
- @avp Yes, really. Maybe not several times a week, but often enough. I really love brunches. The code that is not yet debugged, or even not completely done, lives only in them. - Shamov
- @aknew, maybe of course, but what’s the problem with SVN? - avp
- @avp it was to thesis "in the right team (in the active development phase) one file does not change by several people." - aknew 2:58
And how was git complicated? Github has its own client, which keeps track of all changes and offers to commit them ... it is mastered very simply.
And what does “master” mean? Read the docks ( git howto in Russian ), everything is just there even from the console. Settled down in half an hour.
You can do a version control system like scm manager on your own machine, it supports both svn and git and mercurial and you can evaluate the work with each version and then choose the most convenient one for you.
- supplemented the answer. - thunder
At the risk of being a retrograde, I’ll still speak out against Git in this context. Git is more suitable for large (really large projects), when several teams are working on the project (not a few developers, namely, development teams). Git is known as distributed VCS and branch management is well implemented there.
The current experience of managing the Linux / Android source code just under Git is just evidence in favor of its advantages in large projects.
SVN is good, very good. And it is good everywhere not only in small projects, but also in large ones too. Having worked both under that and another VCS, I didn’t find, for example, in Git, my favorite global Revision #, as opposed to Git, it offers SHA-1 branch signature, which is very inconvenient to use. The differences, of course, are many. There is much not only in details, but also in ideology.
Well, the statements of Mr. @Shamov 'and on the deformity of SVN, I would refer more to the next holivar, rather than to the real state of things :)
- When I said that svn cripples the brain, I meant this unhealthy addiction to the global revision number, or rather to the presence of the main branch - the trunk. - Shamov
- 3And who is hindering the trunk? - Barmaley
- svn is good for example for controlling media file versions. With them in git is hard, because at some point the repository starts the entire gigabyte. @Shamov is committed, svn is a little freak that is good until you start strumming. There is no holivar for the sake of it, look at Linus’s presentation in google where he tells about git. - rnd_d
- Another good thing is that you can only use that folder. for him, these are all separate entities and there is metadata in each folder, but with git this trick will not work - aknew
- one@rnd_d By the way, did you try to branch in
Subversion
or did you make such a conclusion only on the basis of Linus' speech? - Costantino Rupert
My IMHO, you still have to learn and git, and svn even the basics because both of them are de facto standards and you will definitely encounter them in development if not in your office, then with examples from the side exactly. I, the truth, the application programmer, but I do not think that in this aspect it is important
Try svn - this is a classic of the genre!
Well, what about git. For ease of use, if you don’t like the console there is a git gui. Here is a set of different frontends: a frontend set for the git GUI
By the way, here's another link to a small video tutorial (in English). It shows quite clearly the simplicity of working in Git`e from the console. Video Tutorial # 1 for Git
I would advise you to try both Git (Bitbuckets, GitHub) and SVN. First, when you learn to work with both, you and you get a great and unique experience, knowledge, skill, as well as the skills of a free, fast transition. In the future, without these systems, there will be no way many people who say “Ay, this is difficult, it’s better to try that is easier, simple” will later face the problem of transition to a difficult one, spend their time studying, namely the time that it was possible to spend earlier and already use all the acquired skills. If you are writing under Java from under Eclipse there is a good set for a developer under Git. You will absolutely not need to use GitHub stuffing and everything else. You can fully experience the beauty of the development of your potential. Secondly, try to figure it out for yourself. After all, so many articles on Habré and in other places, allowing to understand all the charms and types of version control systems. If you understand this question yourself, try it in practice, you will encounter difficult places, spend a few days, then in the future you will not have to study, compare and delve into a ton of books on SVn & Git.
I hope, helped by advice, the rest, of course, in your hands. Sincerely, Eugene.
I work on Windows, tried SVN, Git for single development - purely for myself. But it was not what was needed, and quickly scored. Not yet tried Mercurial. Awesome thing at least to work alone for yourself. For half a year of work, she helped me more than once.
Especially since there are Bitbuckets.
If you are going to master Subversion - read the book " Version Management in Subversion " - http://svnbook.org/ . The book is partially translated into Russian.
SVN - a classic of the genre. I have the opinion that it is necessary to begin with it.