DEV Community

Cover image for Alternatives to Git.

Alternatives to Git.

Ebenezer Enietan (Niza) on December 26, 2022

Git is a popular version control system that is widely used by software developers to track changes to their code and collaborate with other team m...
Collapse
 
bcostaaa01 profile image
Bruno

I disagree with Git having a steep learning curve. As more practice is put into learning how to use it on a daily basis, it becomes more and more natural to use it, even the most “abstract” concepts.

Using the command line is the basic of the basics for a developer. It is perhaps the “starting point”, so it should be one of the main things to invest first and then become as natural to use it for all things Git. Nevertheless, GitHub has a great tool called GitHub Desktop. I have used it a couple of times in the past and had a great experience. It makes Git less “abstract” to someone getting started.

As for security, Git has an absolutely great approach to security, from cryptographic hashing to checksums to verify the data integrity, access control mechanisms (user authentication and authorisation, for example) and secure transport protocols (HTTPS and SSH, for example).

Subversion and CVS have one particular command that can be misleading: checkout. Git is much more explicit in this with git clone. checkout has a different purpose in Git and Subversion & CVS - to change to a different branch, which is why Git’s clone makes way more sense, in my opinion.

All in all, I think Git is still the best option.

Collapse
 
mneme profile image
Alex T

I think what the author meant is git requires more on command line. It is true that command line is a basic for all developers. I faced a challenge that I need to showcase stuff to non-technical clients or crews. Or sometimes non-technical team members need to access or edit.

Collapse
 
niza profile image
Ebenezer Enietan (Niza) • Edited

Learning git is not really difficult but it is relative to the others but it is more flexible, secure, fast, and basically an industry standard. Thanks for the engagement

Collapse
 
leob profile image
leob

You must be joking - why on earth would you want to use CVS or Subversion instead of Git ???

Git is literally the most brilliant piece of software that I can think of, it's a godsend ... don't hurt my feelings and the feelings of most devs by saying that you prefer CVS or Subversion over Git ... but you're joking, right?

(steep learning curve, no, pick a good tutorial or manual and you can learn the basics in a day)

Mercurial, yeah okay I think it's conceptually the same as Git, but why bother? Trust me, nobody needs an "alternative" to Git, really nobody, spend your time on more useful endeavours.

Collapse
 
niza profile image
Ebenezer Enietan (Niza)

Its good to know git has die hard fans

Collapse
 
leob profile image
leob • Edited

Yes indeed it does - 95% of the software devs out there :)

Thread Thread
 
niza profile image
Ebenezer Enietan (Niza)

I agree it's basically an industry standard

Thread Thread
 
leob profile image
leob

Right ... at least in this area we have a standard, instead of having to argue over a dozen marginally different alternatives, all of which are doing virtually the same thing in the end ... more standards please!

Collapse
 
mneme profile image
Alex T

Kinda disagree. I think as developer, it is always good to have alternatives. Never do things without backup or backdoor.

Collapse
 
leob profile image
leob

Because - some day all of a sudden Git might mysteriously stop working, and then I'm glad I have my CVS or my Mercurial? :)

Collapse
 
gbhorwood profile image
grant horwood

i have always been a fan of mercurial, precisely because it is 'lightweight'.

however, for the last four or five years, my company has been using git instead. not because we think it offers any particularly compelling features over hg, but because, quite frankly, it's the industry standard. if you need to 'play with others', be they new hires or integration partners or whatever, you probably need to be using git.

personally, i don't think this is an ideal situation. i would much rather prefer that there be a diverse and robust set of vc systems. but the fact is that we live in a monoculture. since bitbucket dropped hg two or three years ago, there hasn't been a large vc host that offers anything but git.

Collapse
 
niza profile image
Ebenezer Enietan (Niza)

I agree if a person is new to the industry or seeking employment it must be git if you want to fit in. Any new VCS coming into the industry must find a compelling competitive angle may be some kind of AI catchy feature.

Collapse
 
rouilj profile image
John P. Rouillard • Edited

Having used CVS, subversion, git and Mercurial, I prefer fossil. It provides the distributed nature of hg and git while not being as annoying as git. Software control systems should just get out of the way. Git seems to get in the way for many developers and for non-developers well...

Plus fossil is more of GitHub in a box (GitHub is why I think git really took off). Fossil includes: a web interface, full text search, wiki, embedded documentation, forum, ticketing, and real time chat (for small groups). In fact the fossil web site is a running fossil instance.

If you really need to, fossil can export to git so you can use github's ecosystem to run your CI and other jobs.

Collapse
 
niza profile image
Ebenezer Enietan (Niza)

Nice

Collapse
 
leob profile image
leob

Git isn't "annoying" ... don't make things complicated for yourself and for others by insisting on using a revision control system which 99.99% of the world is not using. But yeah, use it if you must.

Collapse
 
fruntend profile image
fruntend

Сongratulations 🥳! Your article hit the top posts for the week - dev.to/fruntend/top-10-posts-for-f...
Keep it up 👍

Collapse
 
niza profile image
Ebenezer Enietan (Niza)

Thank you

Collapse
 
mneme profile image
Alex T • Edited

Thank you so much for sharing! I was researching on different VCS previously. It has been a good reading and reference. Thanks for your effort. One question: none of the VCS allow with database?

Collapse
 
niza profile image
Ebenezer Enietan (Niza) • Edited

Technically they do allow db; the problem is getting db into the VCS Directory in a "convenient way" . You may want to look into VCS for dbs instead: Liquibase, Flyway, Redgate SQL Source Control, Datical, Microsoft Team Foundation Server (TFS), Oracle SQL Developer etc

Collapse
 
mneme profile image
Alex T

I have a question about git. The creator of the repository has a .csv file with data. But he removed it after that. Is there any way we can extract the csv file from git?

Collapse
 
niza profile image
Ebenezer Enietan (Niza)

Check the commit history
Check out the commit that precedes the one that deleted the file.
here is resource for you freecodecamp.org/news/how-to-recov...

Collapse
 
ozkanpakdil profile image
özkan pakdil

cvs you say 🤣 obviously you never used cvs before.

Collapse
 
auscompgeek profile image
David Vo

I disagree that SVN and CVS are alternatives to Git. Git is a distributed version control system, which neither SVN and CVS are.

I agree that Git can be difficult to use though.

Collapse
 
niza profile image
Ebenezer Enietan (Niza) • Edited

I see what you did there only mercurial is a DVCS on my list ... but at least the are all VCS

Here is a DVCS that is not free perforce perforce.com/.

Other free DVCS: bazaar, someone in the comment mentioned fossil, Darcs etc.