Master Version Control: 20 Git Commands to Boost Your Skills

Vedant Nimbarte
5 min readFeb 5, 2023

--

Master Version Control: 20 Git Commands to Boost Your Skills

As a programmer, version control is crucial for collaborating with your team and tracking changes in your code. Git is the go-to version control system, providing you with the ability to monitor revisions, recognize file versions, and recover older versions as needed.

Even with prior programming knowledge, getting started with Git is simple. However, mastering its advanced features can be challenging. This article will take you through some of the most practical and powerful Git commands, helping you to elevate your skills and become a Git professional.

1. git config

Knowing ‘git config’ is a must for every Git user. This command allows you to set various configuration values, including your email, username, file formats, and preferred file algorithm, among others. Here’s an example of how to use the command:

# configure the user which will be used by Git
# this should be not an acronym but your full name
$ git config --global user.name "Firstname Lastname"
# configure the email address
$ git config --global user.email "your.email@example.org"

2. git init

git init’ is a highly valued Git command, perfect for setting up a Git repository. It creates the initial .git directory in either an existing or new project, with the .git folder remaining hidden. To view it in Windows, you’ll need to disable the hide feature, while in Linux you can use the ‘ls -a’ command. It’s important to note that the contents of the .git folder should not be altered by anyone.

$ git init <the name of your repository>

3. git clone

This command is used to obtain a repository from an existing URL

$ git clone <the url of the repository>

4. git add

The ‘git add’ command plays a crucial role in the Git workflow by enabling you to add file modifications in your working directory to your index. It also allows you to add untracked files, ready for committing to a remote repository. Here’s an example of how to use the ‘git add’ command.

$ git add myfile

This command would add myfile to the staging area.

5. git branch

The ‘git branch’ is a notable mention among Git commands for beginners. The “branch” command helps you create, delete, and list branches.

This command has some important options:

. -v -a
Provides more information about all your branches. Listing your branches, by default, will only show your local branches’ names.

  • Adding the “-a” flag will make sure remote branches are also included in the list.
    Adding the “-v” flag will make the command more “verbose” and
  • include SHA-1 hashes as well as commit subjects of the latest commits on your branches.

— no-merged
Returns all branches that have not been merged into your current HEAD branch.

  • d
    Deletes a specified branch.
#list all branches
$ git branch -a -v
#Return all branches that has not merged
$ git branch --no-merged
#Return all branches thaat has merged
$ git branch --merged

6. git commit

The git commit command captures a snapshot of the project’s currently staged changes.

$ git commit -m “first commit”

7. git push

The ‘git push’ command can help in pushing all modified local objects to the remote repository and then growing its branches. An example of using this command is as follows

$ git push origin master

8. git diff

The ‘git diff’ command is useful for creating patch files or the statistics of differences between paths or files in your index, working directory, or git repository. An example of using this command is as follows

$ git diff

9. git status

The ‘git status’ command can help in displaying the status of files in the index and the ones in the working directory. The command would list out untracked, modified, and staged files easily. An example of using the ‘git status’ command is as follows

$ git status

10. git show

This command shows the metadata and content changes of the specified commit.

$ git show

11. git tag

This command would help in tagging a particular commit with a simple, durable, and human-readable handle. The example of this command is as follows

git tag –a v2.0 –m ‘this is version 2.0 tag’

12. git merge

git merge” is a robust feature that allows you to combine work from two branches into one. This is useful when developers work on the same code and want to integrate their changes before pushing them up in a branch.

$ git merge branch_name

13. git log

The “git log” command lists every commit that has ever happened in your project to see what has changed over time, along with some other information about how the commit was done.

$ git log

14. git reset

Use git reset to “un-track” a file to no longer have any links to the Git repository.

$ git reset [commit id]

15. git rm

This command is used to delete a specific file from the current working directory and stages the deletion. For deleting a specific file from the current working directory and stages the deletion, use the following command:

$ git rm <filename>

16. git remote

This command is used to connect the local git repository to the remote server.

$ git remote add [variable name] [Remote Server Link]

17. git fsck

This command is used to check the integrity of the Git file system and it also helps in identifying corrupted objects.

$ git fsck

18. git pull

This command fetches and merges changes on the remote server to your working directory.

$ git pull repository_link

19. git checkout

The “git checkout” command allows us to switch to an existing branch or create and switch to a new branch. To achieve this, the branch you want to switch to should be present in your local system and the changes in your current branch should be committed or stashed before you make the switch. You can also use this command for checking out the files.

# Switch to an existing branch:
$ git checkout <branch-name>
#Create and switch to a new branch
$ git checkout -b <branch-name>

20. git stash

This command is used to temporarily store all the changed files in the working directory.

Usage: Save all the modified tracked files temporarily:

$ git stash

Usage: List all the stashes:

$ git stash list

Usage: Delete the latest stash:

$ git stash drop

Summary:

The end of this post marks your journey to becoming a version control pro. However, it’s important to note that there are other valuable Git commands and alternative version control tools available.

Thank you for reading! We welcome your questions and feedback, so feel free to leave a comment below.

--

--