DEV Community

Cover image for Git Commands for beginners!
Aman Jaswal
Aman Jaswal

Posted on

Git Commands for beginners!

Configure Git

# list all the configured values git config --list # Set username & email for git globally git config --global user.name "Progressive Programmer" git config --global user.email "progressive@gmail.com" # Set committer name & email for git git config --global committer.name "Programmer" git config --global committer.email "programmer@gmail.com" 
Enter fullscreen mode Exit fullscreen mode

Create a new Repository

# Create a new folder and initialize git repo git init name  # Clone a remote repo in your local system git clone url_of_repo  
Enter fullscreen mode Exit fullscreen mode

Add files/folders to Staging Area

# Adds mentioned file/folder to the staging area git add hello.py # Adds all the files and folders in the current directory  git add .  # Opens the file and let you choose 
the portion to be added for next commit
git add -p hello.py
Enter fullscreen mode Exit fullscreen mode

Commit Changes

# Commit a snapshot of staged changes git commit  # Commit a snapshot of changes in the working directory.  git commit -a # Shortcut for commit with a commit message  git commit -m "commit message" 
Enter fullscreen mode Exit fullscreen mode

Git Branching

# Create a new branch git branch crazy_experiment # List all branches  git branch # List both remote and local branches  git branch -a # List only branches that match the pattern mentioned  git branch --list  'pattern here' 
Enter fullscreen mode Exit fullscreen mode

Switch | Delete | Rename Branch

 # Move to different branches git checkout branch_name git switch  branch_name # Shortcut to create a new branch and switch to the branch  git switch -c  new_branch_name git checkout -b  new_branch_name # Delete the given branch  git branch -d  trash # Force delete the given branch  git branch -D  trash # Rename the current branch  git branch -m  new_name 
Enter fullscreen mode Exit fullscreen mode

Merge Branch

 # Merge given branch name with the working branch git merge  branch_name # Continue merger after conflict resolution git merge  --continue  
Enter fullscreen mode Exit fullscreen mode

Check Status

# Shows the working tree status git status  # Shows status of working tree in a short format  git status --short # Shows status of branch in a short format  git status --branch 
Enter fullscreen mode Exit fullscreen mode

Remote Repository

 # Lists remote repo name and url(fetch/push)  git remote -v # Add a remote repository with local repository  git remote add origin url_remote_repo # Remove the remote repo with given name git remote remove repo_name # Rename the remote repo with given name git remote rename old_name new_name # Updates remote repo with local repo  git push 
Enter fullscreen mode Exit fullscreen mode

I hope this helps !!🚀🚀

Which is your favorite git command??

Don't forget to drop your thoughts and feedback in the comment section. Also, feel free to suggest any addition to this list..

Top comments (8)

Collapse
 
bobbyiliev profile image
Bobby

Great post! Well done!

I wrote a similar one which goes through the top git commands that you should know!

Collapse
 
progressiveprogrammer profile image
Aman Jaswal

Thanks Bobby, fortunately, I have read that post and it was a brilliantly explained one. You are quite active in Devdojo and I have been following your posts since I joined Devdojo. And I must say there's a lot that I gained from your posts.

On the funny side, It's usually just three writers that pop up in devdojo's top reads- Tony Lea, Kim Hallberg and yours 😊 !!

I am humbly attempting to share those learning aspects of programming that I found difficult to understand, Git is one of them.

Thanks again for the appreciation🙏🏽

Collapse
 
bobbyiliev profile image
Bobby

Hey Aman!

Ah thank you for the nice feedback 🙌 and happy to hear that you are on DevDojo too!

Yea, you've got a good point there. Can you share your profile link? I would love to go through your posts! 🙌

Thread Thread
 
progressiveprogrammer profile image
Aman Jaswal

Thanks Bobby,

Here's the link to my Devdojo profile : devdojo.com/progressiveprogrammer
🙏 I'll be glad to get feedback on the content. There isn't much content yet but I am working on sharing more of what I am learning currently..

Thread Thread
 
bobbyiliev profile image
Bobby

Hey Aman,

Your posts are looking great! Well done and keep it up! 🙌

One feedback that I have is, you can add the text along with the images, this is good for people who might not be able to see the images for a variety of reasons.

But besides that great job with the images and the content 🙌

Collapse
 
esin87 profile image
Esin Saribudak • Edited

This is such a great overview for those new to Git, and a useful cheatsheet for everyone! Thanks for sharing this. One cool addition that would be super useful to new devs would be how to change the remote URL of a git repo.

Collapse
 
progressiveprogrammer profile image
Aman Jaswal

Thanks Esin, I am glad it's helpful and I am working on sharing more of these to help fellow programmers. i'll surely add how to change remote URL as well. thanks for the addition.

🙏🚀🚀

Collapse
 
progressiveprogrammer profile image
Aman Jaswal

Feel free to suggest addition to this list of git commands !!!