The Git Cheat Sheet: 50 Helpful Git Commands for In Everyday Use

by Shivam Kashyap
Git Cheat Sheet

Modern software development is primarily based on Git, which offers a system for distributed version control, facilitating successful teamwork. Learning how to use Git effectively will greatly improve your workflow regardless of your level of expertise with coding. It guides you through 50 fundamental Git commands, theory, syntax, and pragmatic examples all explained Git Cheat Sheet

1. Setting Up Your Git Environment

1.1 git config

initially, Setting your Git environment. The Git config command lets you specify several Git configuration choices including your username, email, and additional preferences.

Syntax: git config [--global | --system | --local] <name> <value>
• Example: git config --global user.name "Your Name"
git config --global user.email "you@example.com"
• Explanation:
While –local applies the configuration only to the current repository, the –global flag applies it to all locations on your machine. Setting configuration values for every user on the system is accomplished with the –system option It is advised to set your username and email globally since it identifies your commits over all repositories.

1.2 git init

Starting a fresh Git repository in your project’s directory by the git init command generates a.git folder tracking the version history of your project.
• Syntax: git init [<directory>]
• Example: git init my-project
• Explanation:
Running git init without any arguments initializes the current directory as a Git repository. Specifying a directory name will create that directory (if it doesn’t exist) and initialize it as a Git repository.

1.3 git clone

git clone copies an existing Git repository to your local machine, along with all its history and branches.
• Syntax: git clone <repository> [<directory>]
• Example: git clone https://github.com/user/repo.git
• Explanation:
The first argument is the URL of the repository you want to clone. The optional second argument is the directory name where the repository will be cloned. If not provided, Git will clone the repository into a directory named after the repository itself.

1.4 git config –list

This command lists all configuration settings that are currently applied to the Git environment.
Syntax: git config --list
Example: git config --list
• Explanation:
This command outputs a list of all Git configurations that have been set, which can be helpful for verifying your settings before starting work on a project.

2. Working with Repositories

2.1 git status

The git status command is used to display the state of the working directory and the staging area. It shows which changes have been staged, which haven’t, and which files aren’t being tracked by Git.
Syntax: git status [<options>]
Example: git status
Explanation:
When you intend to find out about changes made to your project, this command truly helpful. It facilitates tracking of your development and knowledge of what the next commit will contain.

2.2 git log

The Git log command displays repository commit history. Understanding the background of the project, monitoring developments, and spotting particular commits depend on this command especially.
• Syntax: git log [<options>]
Example: git log --oneline --graph --decorate --all
Explanation:
With each commit onto a single line (–oneline), shown as a graph (–graph), ornamented with branch & tag names (–decorate), and displaying commits from all branches (–all), the choices used in the example above offer a brief overview of the commit history.

2.3 git show

The Git show command shows comprehensive details on a given commit including author, commit message, and changes.
Syntax: git show [<options>] [<commit>]
• Example: git show commit_id
Explanation:
Examine the specifics of a particular commit by running this command. Substitute the real commit hash you wish to view for commit_id.

2.4 git remote

The git remote command manages the set of remotes that you can push to and pull from.
• Syntax: git remote [<options>] [<name> [<url>]]
• Example: git remote add origin https://github.com/user/repo.git
• Explanation:
This commands an origin-based remote repository addition. After that, you can interact with the distant repository using origin as an alias—that is, pushing or pulling modifications.

3. Tracking and Staging Changes

3.1 git add

The git add command stages changes to be included in the next commit. This command is a crucial part of the Git workflow as it allows you to prepare specific changes for a commit.
• Syntax: git add <pathspec>
• Example: git add file.txt
git add .
• Explanation:
The first example stages a single file named file.txt, while the second example stages all changes in the current directory. The dot (.) is a wildcard representing all changes.

3.2 git diff

git diff shows the differences between various stages of your project, such as between your working directory and the staging area, or between the staging area and the last commit.
• Syntax: git diff [<options>] [<commit>] [--] [<path>…]
• Example: git diff
git diff --staged
• Explanation:
The first example shows differences between the working directory and the staging area, while the second example shows differences between the staging area and the last commit. This command helps you understand what changes you have made that are yet to be committed.

4. Committing Changes

4.1 git commit

The git commit command records changes to the repository. After staging changes with git add, you use git commit to permanently store those changes.
• Syntax: git commit -m "commit message"
Example: git commit -m "Fixed bug in the authentication module"
• Explanation:
The -m option allows you to include a commit message inline, which is a brief description of the changes. This message should be descriptive enough to understand the purpose of the commit.

4.2 git commit –amend

git commit –amend is used to modify the most recent commit. This command is useful if you forgot to include some changes or need to rewrite the commit message.
Syntax: git commit --amend -m "new commit message"
Example: git commit --amend -m "Updated documentation for the authentication module"
• Explanation:
This command rewrites the last commit with the staged changes or updates the commit message if no new changes are staged. It’s a powerful command that can correct small mistakes without creating additional commits.

5. Branching and Merging

5.1 git branch

The git branch command is used to list, create, or delete branches in your repository. Branching allows you to work on different features or fixes in isolation.
• Syntax: git branch [<options>] [branch_name]
Example: git branch new-feature
git branch -d old-feature
• Explanation:
The first example creates a new branch named new-feature. The second example deletes the branch old-feature. Use branching to manage different lines of development.

5.2 git checkout

git checkout allows you to switch between branches or restore working tree files.
• Syntax: git checkout <branch>
Example: git checkout new-feature
git checkout -b new-feature
Explanation:
The first command switches to an existing branch called new-feature. The second command creates a new branch new-feature and switches to it immediately.

5.3 git merge

git merge integrates changes from one branch into another. This command is fundamental for combining the work of multiple branches into a single branch.
• Syntax: git merge <branch>
Example: git merge new-feature
Explanation:
The above command merges the new-feature branch into the current branch. Conflicts might arise during merging, which will need to be resolved manually before completing the merge.

6. Collaborating with Others

6.1 git fetch

The git fetch command downloads objects and refs from another repository. This command retrieves data from a remote repository without integrating it into your working directory.
Syntax: git fetch <remote> [<refspec>...]
Example: git fetch origin
• Explanation:
The above command fetches all the branches and tags from the origin remote repository, but it doesn’t modify the working directory. It’s useful for checking the latest updates from a remote repository before merging or pulling them.

6.2 git pull

git pull is a combination of git fetch and git merge. It fetches the changes from a remote repository and then immediately tries to merge them into the current branch.
• Syntax: git pull <remote> <branch>
• Example: git pull origin main
• Explanation:
This command fetches and integrates changes from the main branch of the origin repository into your current branch. If there are conflicts, Git will prompt you to resolve them before completing the merge.

6.3 git push

The git push command updates a remote repository with local changes. This command is commonly used to share changes with other developers.
• Syntax: git push <remote> <branch>
• Example: git push origin main
• Explanation:
This command pushes the changes in the main branch to the origin remote repository. It’s how you publish your commits to a shared repository.

6.4 git push –force

git push –force forces a push even if it would result in a non-fast-forward update, which rewrites history.
• Syntax: git push --force <remote> <branch>
Example: git push --force origin main
Explanation:
Use this command with caution as it can overwrite changes in the remote repository that others may be relying on. It’s generally used to correct mistakes or when you need to push an amended commit.

7. Undoing Changes

7.1 git reset

git reset moves the current branch to a different commit, effectively undoing commits.
• Syntax: git reset [--hard | --soft | --mixed] [<commit>]
Example: git reset --hard HEAD~1
Explanation:
The above command resets the current branch to the commit before the last one (HEAD~1). The –hard option discards all changes in the working directory and the staging area. –soft keeps changes in the working directory, and –mixed keeps them in the staging area.

7.2 git revert

git revert creates a new commit that undoes the changes from a previous commit.
• Syntax: git revert <commit>
Example: git revert commit_id
Explanation:
This command is safer than git reset as it doesn’t rewrite history. Instead, it creates a new commit that undoes the specified commit, preserving the project’s history.

8. Inspecting a Repository

8.1 git blame

The git blame command shows what revision and author last modified each line of a file.
• Syntax: git blame [<options>] <file>
Example: git blame file.txt
Explanation:
This command is useful for tracking down when a particular change was made to a file and who made it. It’s often used to identify the commit that introduced a bug.

8.2 git reflog

git reflog is a powerful command that records every change made to the tips of branches and enables you to recover commits that may have been lost due to a reset or commit amendment.
Syntax: git reflog [<options>] [<ref>]
• Example: git reflog
Explanation:
This command provides a log of all the actions that affect the reference, including commits, resets, checkouts, and more. It’s an essential tool for recovering lost commits.

9. Advanced Git Commands

9.1 git rebase

git rebase reapplies commits on top of another base tip. It’s commonly used to keep your branch up to date with another branch without creating a merge commit.
• Syntax: git rebase <branch>
• Example: git rebase main
Explanation:
This command takes the commits from the current branch and replays them on top of the main branch. It’s a way to integrate changes from one branch into another more cleanly than merging.

9.2 git cherry-pick

git cherry-pick applies changes from a specific commit to your current branch.
• Syntax: git cherry-pick <commit>
Example: git cherry-pick commit_id
Explanation:
Use git cherry-pick when you want to introduce specific changes from another branch or commit without merging the entire branch. It’s useful for bug fixes or small feature additions.

10. Miscellaneous Commands

10.1 git stash

git stash temporarily shelves changes in your working directory so you can work on something else and then reapply the stashed changes later.
• Syntax: git stash [<options>]
Example: git stash save "Work in progress"
git stash pop
Explanation:
The first command saves your current changes in a stash, which you can apply later using git stash pop. This is helpful when you need to switch branches quickly but don’t want to commit unfinished work.

10.2 git tag

git tag is used to create a reference to a specific commit, usually used to mark release points.
• Syntax: git tag [<options>] <tag_name> [<commit>]
Example: git tag v1.0.0
Explanation:
Tags are useful for marking specific points in your repository’s history, such as releases. Tags can be lightweight (a simple pointer) or annotated (a full Git object containing a tagger, date, and message).

Conclusion

Mastering these 50 Git comands will significantly enhance your efficiency and effectiveness as a developer. Whether you’re setting up a new project, collaborating with others, or managing complex branching strategies, these commands provide a solid foundation for handling version control in Git. Keep this cheat sheet handy, and you’ll be navigating your repositories like a pro in no time!

You may also like

Leave a Reply

[script_15]

This site uses Akismet to reduce spam. Learn how your comment data is processed.

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. OK Read More

Privacy & Cookies Policy
-
00:00
00:00
Update Required Flash plugin
-
00:00
00:00
✓ Customized M.Tech Projects | ✓ Thesis Writing | ✓ Research Paper Writing | ✓ Plagiarism Checking | ✓ Assignment Preparation | ✓ Electronics Projects | ✓ Computer Science | ✓ AI ML | ✓ NLP Projects | ✓ Arduino Projects | ✓ Matlab Projects | ✓ Python Projects | ✓ Software Projects | ✓ Readymade M.Tech Projects | ✓ Java Projects | ✓ Manufacturing Projects M.Tech | ✓ Aerospace Projects | ✓ AI Gaming Projects | ✓ Antenna Projects | ✓ Mechatronics Projects | ✓ Drone Projects | ✓ Mtech IoT Projects | ✓ MTech Project Source Codes | ✓ Deep Learning Projects | ✓ Structural Engineering Projects | ✓ Cloud Computing Mtech Projects | ✓ Cryptography Projects | ✓ Cyber Security | ✓ Data Engineering | ✓ Data Science | ✓ Embedded Projects | ✓ AWS Projects | ✓ Biomedical Engineering Projects | ✓ Robotics Projects | ✓ Capstone Projects | ✓ Image Processing Projects | ✓ Power System Projects | ✓ Electric Vehicle Projects | ✓ Energy Projects Mtech | ✓ Simulation Projects | ✓ Thermal Engineering Projects

© 2024 All Rights Reserved Engineer’s Planet

Digital Media Partner #magdigit