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
- 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
(formerlymaster
). - 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:
- 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