Git Full Concept

Git is a distributed version control system designed to handle everything from small to very large projects with speed and efficiency. It allows multiple developers to work on a project simultaneously without interfering with each other’s work.

Core Concepts of Git

  1. Repository (Repo):
  • A repository is a directory which contains your project work, as well as a few files (hidden by default) which are used by Git to track changes.
  • You can create a repository locally on your computer, and you can also push this repository to a remote location (like GitHub, GitLab, or Bitbucket)

2. Branches:

  • A branch in Git is simply a lightweight movable pointer to one of these commits.
  • The default branch name in Git is main (formerly master).
  • Branching allows you to diverge from the main line of development and continue to do work without messing with that main line.

3. Commits:

  • A commit is a snapshot of your repository at a specific point in time.
  • Every commit in Git has a unique ID (SHA-1 hash).

4. Staging Area (Index):

  • The staging area is a file, generally contained in your Git directory, that stores information about what will go into your next commit.
  • It’s sometimes referred to as the index, but it’s more accurately referred to as the staging area.

5. Working Directory:

  • The working directory is the area where you are currently working. It consists of files that you are modifying, which are not yet committed.

Basic Git Commands:

  1. git init:
  • Initializes a new Git repository.
git init

2. git clone:

  • Clone a repository into a new directory.
git clone https://github.com/user/repo.git

3. git add:

  • Add file contents to the index (staging area).
git add <filename>

4. git commit:

  • Record changes to the repository.
git commit -m "Commit message"

5. git status:

  • Show the working tree status.
git status

6. git log:

  • Show commit logs.
git log

7. git branch:

  • List, create, or delete branches.
git branch

8. git checkout:

  • Switch branches or restore working tree files.
git checkout <branch_name>

9. git merge:

  • Join two or more development histories together.
git merge <branch_name>

10. git pull:

  • Fetch from and integrate with another repository or a local branch.
git pull origin main

11. git push:

  • Update remote refs along with associated objects.
git push origin main