git Notes By ShariqSP

Git Overview

What is Git?

Git is a distributed version control system used to track changes in source code during software development. It allows multiple developers to collaborate on projects by managing changes to files.

Why We Need Git?

Git provides several benefits, including:

  • Version control: Track changes and revert to previous versions.
  • Collaboration: Multiple developers can work on the same project simultaneously.
  • Branching and merging: Easily manage different versions of a project and merge changes.
  • Backup: Store project history and files on a remote server (repository).

Git Architecture

Git has three main components:

  • Working directory: Where files are stored and edited.
  • Staging area (Index): A temporary storage area where changes are prepared to be committed.
  • Repository (Local and Remote): Stores committed changes and project history.

List of Git Commands

    

git init

Initialize a local Git repository.

git clone repo_url

Clone public repository.

git clone ssh://git@github.com/[username]/[repository-name].git

Clone private repository.

git status

Check status.

git add [file-name]

Add a file to the staging area.

git add -A

Add all new and changed files to the staging area.

git commit -m "[commit message]"

Commit changes.

git rm -r [file-name.txt]

Remove a file (or folder).

git branch

List of branches (the asterisk denotes the current branch).

git branch -a

List all branches (local and remote).

git branch [branch name]

Create a new branch.

git branch -d [branch name]

Delete a branch.

git branch -D [branch name]

Delete a branch forcefully.

git push origin --delete [branch name]

Delete a remote branch.

git checkout -b [branch name]

Create a new branch and switch to it.

git checkout -b [branch name] origin/[branch name]

Clone a remote branch and switch to it.

git branch -m [old branch name] [new branch name]

Rename a local branch.

git checkout [branch name]

Switch to a branch.

git checkout -- [file-name.txt]

Discard changes to a file.

git merge [branch name]

Merge a branch into the active branch.

git merge [source branch] [target branch]

Merge a branch into a target branch.

git stash

Stash changes in a dirty working directory.

git stash clear

Remove all stashed entries.

git push origin [branch name]

Push a branch to your remote repository.

git push -u origin [branch name]

Push changes to remote repository (and remember the branch).

git push

Push changes to remote repository (remembered branch).

git pull

Update local repository to the newest commit.

git pull origin [branch name]

Pull changes from remote repository.

git remote add origin ssh://git@github.com/[username]/[repository-name].git

Add a remote repository.

git remote set-url origin ssh://git@github.com/[username]/[repository-name].git

Set a repository's origin branch to SSH.

git log

View changes.

git log --summary

View changes (detailed).

git log --oneline

View changes (briefly).

git diff [source branch] [target branch]

Preview changes before merging.

git revert commitid

Revert commit changes.

git config --global user.name "your_username"

Set globally Username.

git config --global user.email "your_email_address@example.com"

Set globally Email id.

git config --global --list

Get global config.