You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Next »

Git is a distributed version-control system for tracking changes in source code during software development. It is designed for coordinating work among programmers, but it can be used to track changes in any set of files. Its goals include speed, data integrity, and support for distributed, non-linear workflows.

If you are familiar with SVN(Subversion) or CVS(Concurrent Version System), you may have no difficulty in using Git.


The characteristics are as followings:

  • Strong support for non-linear development
  • Distributed development
  • Compatibility with existent systems and protocols such as HTTP, FTP, SSH and etc.
  • Efficient handling of large projects
  • Cryptographic authentication of history
  • Toolkit-based design
  • Plug-gable merge strategies
  • Garbage accumulates until collected
  • Periodic explicit object packing


Data flows

  • Git has a data revision control system in storage level with its version information. And you will be faced an unfamiliar words like fork, clone and branch.
    • A fork is a copy of a repository that allows you to freely experiment with changes without affecting the original project. You can contribute back to the original project using pull requests. Forking is a first step for collaborate with your colleagues.
    • A clone is a copy of all the code on the master branch - it is an exact replica of the code on git server. Unlike forking, you won't be able to pull down changes from the original repository you cloned from, and if the project is owned by someone else you won't be able to contribute back to it unless you are specifically invited as a collaborator. Cloning is ideal to quickly get your own copy of a repository where you may not be contributing to the original project.
    • A branch is a slightly changed or modified section of code that meets different objectives.
  • git clone command copies an existing Git repository - it is primarily used to point to an existing repo and make a clone or copy of that repo at in a new directory, at another location. The original repository can be located on the local file system or on remote machine accessible supported protocols.


Followings are useful content at YouTube


Other information

  • No labels