L
L
lemon_spb2012-04-23 01:31:40
Version control systems
lemon_spb, 2012-04-23 01:31:40

A quick start in the world of version control systems?

Hello everyone.
The situation is as follows:
Never in 4 years of my programming career did I use version control systems (hereinafter referred to as DCS (dry carbon dioxide bath) :-)) (yes, it happens). I work in a team, but there is no possibility/required arguments to incline my colleagues in the direction of the SUV, perhaps it will be possible by my own example. Therefore, I want to start using it purely for myself for now, but the complexity is a little scary, and there is no time to understand various difficulties, I want to use the benefits of SUV with a minimum of effort, out of the box . At least for starters, what would you recommend? I downloaded git, installed it, launched it, saw a black console and… closed it :-)
Development is carried out in Delphi/C++ under Windows. If it is important, I run Windows on a virtual machine from under ubuntu. Filling versions, etc. via the Internet - not welcome. traffic is limited and the internet at the workplace is very slow. It is necessary that the information be stored in my personal folder on a server located on the local network. The system itself (both client and server) must run exclusively on my computer.
Of the possibilities, I want a minimum: saving projects, the possibility of rollback, coordinating several “options” of one program, in case there was a glitch or a new feature in the “core”, and most importantly, simplicity and transparency.
Maybe my dream is utopian? :-)

Answer the question

In order to leave comments, you need to log in

18 answer(s)
R
RNZ, 2012-04-23
@RNZ

progit.org/book/progit.org/book/ru/
_

R
Riateche, 2012-04-23
@Riateche

I recommend mercurial because I love this system. There is a great series of articles for beginners. There is no need to be afraid of the console, everything is really very simple there, you just need to learn just a few commands. But there is also a cross-platform GUI - TortoiseHG, in which you can do almost everything.

P
powder96, 2012-04-23
@powder96

I would start with SVN - after reading the article, an hour later I committed to the repository on localhost.
www.codinghorror.com/blog/2008/04/setting-up-subversion-on-windows.html
Offtopic: Why has SVN gone uh... unfashionable? Was CVS, then SVN, now Git? Is it because of Github and Bitbucket? I missed a lot...

S
slang, 2012-04-23
@slang

If the problem is in the console, and you want good integration into the IDE, and Eclipse is used as the IDE (for C ++, for example), I want to suggest Mercurial (HG). Under Eclipse, there is a functional plugin that allows you to work comfortably (for me, this once became a decisive factor, since the plugin for Git was too crooked). Both Git and HG are the most popular distributed systems for all your requirements. I would not advise starting from unallocated ones, for sure, you will have to switch later.
Well, here you can right there on Habré and read the translation of a good article - habrahabr.ru/post/108443/ (or rather the original).
The transition from SVN is described, which can also be useful (the reason why I would advise a distributed system right away).

W
Weageoo, 2012-04-23
@Weageoo

For a quick start you need:
1) Read a good article .
2) Create an account on bitbucket.org (there is no better among the free ones).
3) Use TortoiseGit (you may also need to work with the git command line, but minimally).
After completing steps (1) and (2), you can, say, upload your personal project to bitbucket.org, commit, create branches, populate, push, reset.

D
Denis, 2012-04-23
@uscr

Why is no one advising githowto ? And about installing a server on ubuntu, you can google articles in abundance.

S
Stepuk, 2012-04-23
@Stepuk

www.hginit.com

N
Next_Alex, 2012-04-23
@Next_Alex

I recommend RhodeCode , a demo is available here .
Deployment in a jiffy, easy to set up and update, there is a web interface for managing repositories ( + statistics, etc. ), Mercurial is used as a version control system + Git support is planned.
I have been on the project server for half a year - only good impressions.

V
vaniapooh, 2012-04-23
@vaniapooh

I read the book on subversion in PDF directly from their site (http://subversion.apache.org/docs/). To understand what and how, without getting into the internal subtleties of the work of Subversion itself, it is enough to read pages 60-70. The work cycle and the main commands are quite accessible.

P
polv, 2012-04-23
@polv

Try a system that is not so popular, but very interesting and promising, as it seems to me. Fossil . This is DVCS. In fact, on Windows, it is a single executable file. Does not litter in the system. Built on top of sqlite3. The repository is a single file - the sqlite base. With ease it is possible to store though on flash. Includes web interface, server, wiki, bug tracking. It is possible to automatically synchronize with remote repositories. Access to them via HTTP. Proxy support. Work in own server mode, CGI, INETD. Sqlite itself is being developed on it.

K
KindDragon, 2012-04-23
@KindDragon

I think Git is the best for you.

  1. The repository will be stored locally
  2. You can easily transfer it to a local server if colleagues want to use it too

You're better off using GitExtensions (http://code.google.com/p/gitextensions/) to work with Git, it's even possible to run from Ubuntu via Mono.
The instruction for working with GitExtensions for you will be as follows:
  • After installing GitExtensions, click Create New Repository and select the folder where to create
  • Add all temporary and generated files to .gitignore (Settings>Edit .gitignore) for example with this content github.com/github/gitignore/blob/2f89234bf81ee6a1f045c138414497225e9043cd/Delphi.gitignore
  • Make your first commit.
  • With every new change Commit to the repository, it is very important to write a good commit comment and not just like "fix"
  • To work on a new feature, you can create a separate branch, and then merge commits from it into the main (master) branch.

If so, write questions.
PS I hope you have a small team, otherwise the lack of VCS is more like a joke

A
allnightlong, 2012-04-23
@allnightlong

git or mercurial

C
CKOPOBAPKuH, 2012-04-26
@CKOPOBAPKuH

> Never in 4 years of my programming career did I use version control systems. I work in a team, but there is no possibility / necessary arguments to persuade colleagues towards
VCS I may exaggerate, but if you do not have any supernatural circumstances that prevent the use of VCS, then your colleagues are unsuitable. They're in their 60s, right? It is now 2012, and the non-use of these systems and the obstacles to them can no longer be explained by anything else.
Of the systems, I recommend starting with SVN, it is still simpler, but in general I recommend mastering some system and immediately changing jobs. Or even earlier.
There are many vacancies, few candidates.

A
amaranth, 2012-04-26
@amaranth

Check out GitLab

M
multlurk, 2012-04-26
@multlurk

If you decide to look in the direction of mercurial, then here is a collection of links to interesting articles on Mercurial.

M
murr, 2012-04-26
@murr

Step-by-step guide to Git: gitimmersion.com/

C
charon, 2012-04-25
@charon

Git is the most fashionable trend, so it's better to learn it right away. And what, by the way, is a Delphi developer - are there plugins for some version control systems? I find it very convenient to use an IDE that has a version control system built right into it.
> Development is carried out on Delphi/C++ under Windows. If it is important, I run Windows on a virtual machine from under ubuntu.
I don't understand why you have to torture yourself like this? Why can't you work in the same OS in which and for which you develop? However, this is a matter of taste.

I
Informatik, 2014-07-15
@Informatik

Git: the version control system for everyone. Less theory, more practice.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question