Introduction
In the world of software development, Git has become an essential tool for version control. It allows developers to collaborate efficiently, track changes, and manage code repositories effectively. Whether you're a beginner or an experienced developer, understanding and mastering Git commands is crucial for maximising productivity. In this blog post, we'll explore the top Git commands that every developer should know.
git init:
The first step in using Git is initialising a repository. By running git init in your project directory, you create an empty Git repository, enabling version control for your project. This command sets up the necessary infrastructure for Git to start tracking changes.
$ git init
git clone:
To start working on an existing project, you'll often need to make a local copy of the repository. git clone allows you to download the entire repository and its history to your local machine. It establishes a connection between your local copy and the remote repository, enabling you to fetch updates and contribute to the project.
$ git clone https://github.com/example/repository.git
git add:
Before committing changes to your repository, you need to stage the files you want to include in the next commit. git add lets you selectively add files or entire directories to the staging area. It prepares them for the upcoming commit, indicating that you want to include these changes in the repository.
$ git add file.txt
$ git add folder/
$ git add .
git commit:
Once your changes are staged, you can create a new commit using git commit. Commits act as snapshots of your project at a specific point in time, preserving the changes you made. Each commit has a unique identifier, commit message, and references the previous commit, forming a chronological history of your project.
$ git commit -m "Initial commit"
git pull:
Collaborative projects often involve multiple developers working on the same repository. git pull allows you to fetch and merge the latest changes from the remote repository into your local branch. It ensures that your local copy is up to date, incorporating any new commits made by others before you start working.
$ git pull origin master
git push:
Once you've made changes to your local branch and want to share them with others, you can use git push to upload your commits to the remote repository. It synchronises your local changes with the central repository, making them available to others working on the project.
$ git push origin master
git branch:
Branches are a powerful feature in Git that enable parallel development and experimentation. git branch lets you create new branches or list existing ones. You can work on different features or bug fixes independently by switching between branches using git checkout.
$ git branch
$ git branch new-feature
git merge:
When you're done working on a feature branch or want to incorporate changes from one branch into another, you can use git merge. It combines the changes from the source branch into the target branch, creating a new commit that includes both sets of changes.
$ git merge new-feature
git stash:
Sometimes, you may need to switch to a different branch while working on unfinished changes. git stash allows you to temporarily save your modifications in a stack-like structure, enabling you to switch branches without committing or discarding your changes. Later, you can apply the stashed changes to the appropriate branch.
$ git stash save "Work in progress"
$ git stash apply
git log:
To examine the commit history of a repository, git log is a handy command. It displays a chronological list of commits, including their author, timestamp, and commit message. You can use various options with this command to filter and format the output based on your requirements.
$ git log
$ git log --author="John Doe"
Conclusion:
Git is a powerful version control system that empowers developers to collaborate effectively and track changes in their projects. By mastering these top Git commands, you'll be able to navigate repositories, manage branches, and track changes with ease. Whether you're working on personal projects or contributing to large-scale software development, understanding and utilizing these commands
Top comments (23)
Great intro to Git!
For anyone on Windows, Git Extensions is a great (free) UI that's both helpful for people learning Git, and deep for those who are a bit more comfortable.
Awesome @ant_f_dev !!
Thanks!!
If every developer had these Git commands memorized, life would be a little bit easier for everyone. This is true from users to developer managers. Thank you for the refresher, it is always good to review the basics.
Thanks for reading !!
Nice and straight forward 👍
Thanks !!
Nice post
Thank you!!
Nice post !
git log -1 was my favorite commands :D
Thank you very much!!
Thanks. Can you add more examples, and bake in best practice? Kthxbi
no this time though but will write another blog about best practices.
Thanks for the suggestion;
great post especially the git stash part which has been very useful to me
one thing though, i would also add git fetch to the list
Very useful thanks a lot!!
Thanks for reading !!
Сongratulations 🥳! Your article hit the top posts for the week - dev.to/fruntend/top-10-posts-for-f...
Keep it up 👍
that's awesome!!
Not to mention the commands to rollback a commit,or change the last git message. They are important too.
Yeah, they are !! will write another blog for those.