Git~Mercurial~SVN यह सभी अलग अलग तरह की वर्ज़न कंट्रोल सिस्टम हैं।
-
Git (created by Linus Torvalds, jokingly expanded as Global Information Tracker, Goddamn Idiotic Truckload or, meaning of ‘Git’ in another foreign language: Stupid Unpleasant Person) repositories or Mercurial (created by Matt Mackall in 2005) repositories or SVN repositories all are (local or centralized version control systems) VCSes.
-
Further, Git-Scm.com [Scm= Software Code Management] is Official site for Git software & documentation, Git downloads, tutorials, and official docs (maintained by the Git community and also affiliated with the Software Freedom Conservancy). Since this site is not for storing Git repositories, no login or account creation is allowed here.
-
Diff VCSes Hosting Services: GitHub.com (closed-source), BitBucket.com (closed source), GitLab.com (open-source), SourceForge.com (open-source) all are (local or distributed isn’t a big diff) VCS providers/repository hosts. But not all VCS repository hosts may offer all types of repositories hosting. E.g. GitHub.com doesn’t provide hosting for Mercurial repositories, but SourceHut.com does.
In my opinion, sourceforge is best option for me, as it is OpenSource, and unlike GitHub which only handles/offers git vcs services, offers hosting for both Git vcs and Mercurial Vcs and SubVersion vcs.
Type of Version Control systems: Centralized or Distributed
-
Both Distbtd VCS and Centrlizd VCS host main/master copies of the repositories. The users of both (can) download (full copy of) any required version. But only users of DVCS have full repository copies on their local systems, while users of Cvcs have only those files (not full repositories) with them on which they need to work. In Cvcs only the server has full repositories with all current/old versions on it. Users have only those files which they need. While in Dvcs the server only has the latest version repository on it (and users have full copies on them). In yet other words, on Distributed systems, users work on full copies and upload them to Dstrbtd server for others to use them, while on Centeralized, the users download full/current copies to work on them (and optionally can upload them back). Also, SVN, CVS are examples of centralized vcs, and Git, Mercurial are examples of Distributed.
-
Why do we call ‘GitHub’ or ‘GitLab’ or ‘BitBucket’ git hosting services, even when they (can) host Mercurial or Svn repositories also?
Answer: They’re just named, and because of the dominance of ‘Git’ vcs for coming early on scene and being most popular and similar misc reasons, they’re named thus.
Steps of VCS:
After installing Git Vcs ware on your linux/windows system, you can give these commands to work on Git-Vcs:
- Git Init Project1 : creates a new vcs/git project with the creation of the same named folder (in our current path).
- Cd Project1: You’d now enter into that folder/project.
- create anyfile1.txt : Would create a new empty file in that very location (the same is not yet related to or part of our project).
- git add anyfile1.txt : Git would now know that this file exists for the project (and would be needed to be included when we commit our changes, in the next step).
- git commit -m “I-added-a-new-file” : first commit will be done with ‘m-’ adding the said message (so that all/others could know by seeing this message as to what was changed in this commit).