Git Terminology

What is Git Terminology?

Git is an open-source code management system used by programmers. It is nothing but a Version control repository to track the changes done in the project. Git starts from the Linux kernel development. It was founded in 2005. The core git was written in C programming language but it has been re-implanted in other languages i. e: Ruby, Python, and Java. Its especially used by the programmers for maintaining versions of the current working code. Now a days git terminology is used by many popular open-source projects like the Android and Eclipse developer team as well as many commercial organizations.

Features of Git Terminology

There are some exciting features listed in Git terminology those are as follows:

1) Branch

  • A branch is a version of the repository that is different from the main working project. A git project can have more than one branch.
  • A branch is named pointer to commit. Selecting a branch in Git terminology is called to check out a branch.
  • You can create a new branch from an existing one and change the code independently from other branches.
  • Syntax: git branch

2) Commit

  • Commit is one the most frequently used feature of Git, it’s like saving the updated file to its original folder and overwrite on already existing
  • A commit is a collection of content, a message about how you got there, and the commits that came before it.
  • Syntax: git log – used to see the latest committed changes into the code.

3) HEAD

  • HEAD is representation to the currently checked out branch of last committed code.
  • When you check out a commit, it changes its state called as detached HEAD.

4) Index

  • An index is an alternative term for the staging area.
  • Its place in git where you can put all your updated code before it gets actually committed. After that, your committed code will be stored in the git repository.

5) Repository

  • In GIT, a Repository is like a data structure used to store metadata for a set of files and directories.
  • Different projects have different repositories.
  • A collection of commits, and branches and tags to identify commits
  • There are different versions of the repository are as follows:
    a) Local Repository
    b) Remote Repository
    c) Upstream Repository

6) Revision

  • Represents a version of the source code. Git implements revisions as commit objects.
  • These are identified by SHA-1 hash.

7) Staging Area

  • The staging area is the place to store changes in the working tree before the commit.
  • The staging area contains a snapshot of the changes in the working tree (changed or new files) relevant to create the next commit and stores their mode (file type).

8) Tag

  • Tag is used to marking the commit stage important. We can tag a commit for future reference.
  • Branches and tags are named pointers, the difference is that branches move when a new commit is created while tags always point to the same commit.
  • There are two types of a tag are as follows:
    i) Light-weighted tag
    ii) Annotated tag

9) URL

  • A URL in Git detects the location of the repository.
  • Git distinguishes between fetch URL for getting new data from other repositories and push URL for pushing data to another repository.

10) Working Tree

  • The tree of actual checked out files, normally containing the contents of the HEAD commit’s tree and any local changes you’ve made but haven’t yet committed.
  • Syntax: git status – a current branch in your workspace.
  • It corresponds to the checkout of one version of the repository with potential changes done by the user.
  • The user can change the files in the working tree by modifying existing files and by creating and removing files.

11) Fork

  • Instead of using a single server-side repository to act as the “central” codebase, forking gives every developer a server-side repository

12) Checkout

  • The checkout command is used to switch between branches in a repository.

13) Clone

  • The git clone is a Git command-line utility. It is used to make a copy of the target repository or clone it.

14) Merge

  • This command of Git is used to collect all code done by git branch command and clubbed together into one single branch.

15) Pull and Push

  • Suppose there are multiple programmers working on the same code with a different module. In this case programmer 1 done with his changes and want to upload the latest updated code on git, this process is called Push code.
  • In the above same process, suppose programmer 2 wants to take programmer 1’s latest updated code, then he will take the latest code of programmer 1. This process is called Pull code

Advantages of Git Terminology

Advantages of Git Terminology are as follows:

1) Performance

  • Committing new changes, branching, merging and comparing past versions are all optimized for performance.
  • Distributed model- It means your work is your own. You can let others see only what is necessary.
  • Speed and the possibility of working are marvelous.

2) Security

  • In terms of security, Git provides the best facility that you should give priority to your code. So whatever code uploaded on git is visible up to you as per your defined priority. So it’s like in reading only mode or public.
  • All integration of code is secured in Git with the help of SHA1.

3) Flexibility

  • GIT has the quality that allows you to choose your own workflow.
  • It can be as simple as a centralized workflow.
  • GIT has been designed to support branching and tagging as first-class citizens and operations that affect branches and tags

Conclusion

  • So, Git is nothing but an open-source version control repository used for checking code updates of programmers.
  • Git shows, What commits are made of, how each commit is a whole version of your work and how commits, along with remotes, branches and other stuff come together to create a new landscape of things.

Recommended Articles

This is a guide to Git Terminology. Here we discuss the features and advantages of git terminology which includes Performance, Security and Flexibility etc. You can also go through our other suggested articles to learn more –

  1. Git Alternatives
  2. GitHub Alternatives
  3. How To Install Github
  4. GIT Commands

The post Git Terminology appeared first on EDUCBA.