Git is, first and foremost, a version control system
(VCS)and it is open source. There are two types of (VCS). One is
Distributed version control system (DVCS) and another one is Centralized
version control systems (CVCS). There are many version control systems
out there, for example, CVS, SVN, Mercurial, Fossil etc. Git is an
example of Distributed version control System (DVCS), which keeps track
of each modification done to the code over time, and allows you to
backtrack if necessary and undo those changes.Git will allow you to go
back to a previous status on a project or to see its entire evolution
since the project created.Git is also called as source code management
(SCM).
With Git, 3 basic issues were solved when working on projects:- It has made easier to manage large projects.
- It helps you to avoid overwriting the team’s advances and work.
- With git, you just pull the entire code and history to your system. It's much simpler and much more lightweight.
- Working Directory (Untracked): All the modifications are done in this stage to the files, but is not part of git's version control. So, to make files part of git version control we use the below command #git add or #git add . (dot means everything).
- Staging (Staged): All the files have been added to git's version control and are tracked by git, but changes have not been committed, so to commit changes we use following command #git commit -m “commit message”.
- Committed: All the changes has been committed.
- Git tracks state, history and integrates of the source tree.
- Git keeps old versions for you if any developer occurs any mistake in code, then you will always have the previous version to fix it.
- Multiple developers can work together, once they write code in their local machine and commit it then other developers can pull it easily.
- Large developers community and online websites to upload your source codes or get others source codes to make your work easier.
- Lots of software available for both who comfortable with command line and for others GUI tools.
- Easy and clear documentation to get started with.
- Git will not use much bandwidth you don’t have to connect with your server always you just need to connect to push code when you complete the code.
GitHub:
GitHub may be the first name in open source repository hosting, but
when it comes to private repo hosting services with additional bells and
whistles aimed at enterprises, the game is not so cut and dry. All
three vendors base their platforms on the Git distributed version
control system. Each offers an on-premises solution for hosting reports
inside your firewall -- GitHub Enterprise, GitLab, and Bitbucket Server.
GitHub has a great, intuitive, informative and many familiar UI. If
it is installed on your own servers, most developers will feel like
home. It features LDAP integration, integration with JIRA and many other
features important to today’s companies. You’ll hardly be in
requirement of something that GitHub doesn’t do. On top of “enterprise
features”, it has Gists (a way to share code snippets), ability to edit
files directly from the browser (comes in handy when taking notes during
a meeting), works with almost any cloud provider, has powerful search,
and so on. It comes with its own Wiki and issue tracking. In many cases
it is enough for many needs. If it isn’t, it can easily be connected
with Jenkins, JIRA, Confluence, BugZilla, Trello and many other
products. It can be used as a full package or in conjunction with
others. Simply put, GitHub is the gold standard for code repositories.
GitLab:
GitLab do almost everything that GitHub does. Features are more or
less the same (with very few exceptions) and UI is as great as the one
from GitHub. If you go to Git Lab’s website you’ll have a hard time not
thinking that you are in GitHub. One would need to look very hard to
find something meaningful that GitHub has and GitLab doesn’t so let’s
skip at what distinguishes GitLab from GitHub.
GitLab Community Edition is free and open sourced. That in itself
gives it a huge boost when compared to GitHub Enterprise Edition (the
only version that can be installed on premises). While there are some
features available only in the enterprise edition, you might not need
them and even if you do, it makes the decision easier knowing that you
can start with the free version and upgrade to the paid one later on. It
does not mean that GitHub doesn’t have a trial, It has. But it is for a
limited time that might not be enough. With GitLab community edition
you might be comfortable until the end of time or you might start with
the enterprise edition right away. The good thing is that you have a
choice that does not expire.
Pricing for the enterprise edition is reasonable (several times lower
than with GitHub). Unlike GitHub, GitLab can be installed on virtually
any hardware/OS/CM combination. Cloud providers, virtual machines,
directly on the server, Linux, Windows, Puppet, Chef, and so on.They are
even maintaining Docker images. Moreover, installation is simple. It
shows the power of open source with infinite combinations community came
up with and wrote about.
BitBucket:
Bitbucket is a web-based hosting service for source code and development projects that use either Mercurial (since launch) or Git (since October 2011) revision control systems that is owned by Atlassian. Bitbucket offers both commercial plans and free accounts. It offers free accounts with an unlimited number of private repositories (which can have up to five users in the case of free accounts) as of September 2010. Bitbucket integrates with other Atlassian software like JIRA Software, HipChat, Confluence and Bamboo.
It is similar to GitHub, which primarily uses Git. In September 2016, Bitbucket announced it had reached 5 million developers and 900,000 teams on its platform. Bitbucket has 3 deployment models: Cloud, Bitbucket Server and Data Center.
No comments:
Post a Comment