Git, the widely used distributed version control system, has revolutionized the way developers collaborate and manage their codebases. Whether you're a seasoned developer or just starting your coding journey, having a solid understanding of essential Git commands is crucial for maintaining an efficient workflow and ensuring the integrity of your projects.
As said by Ben Collins-Sussman, Co-founder of Google Code ๐๐พ
Git is a powerful tool for distributed version control. It is a way to ensure that your project evolves gracefully over time, no matter how many people are working on it.
Now steal this git cheat sheet I prepared for you ๐
๐Configurations
- Configure your name. This would serve as the author of the commit :
git config --global user.name "[fistname lastname]"
- Configure your email. This would serve as the email of the author :
git config --global user.email "[your_email]"
๐ฑInitialization
- Initialize a new Git repository :
git init
- Create a local copy of a remote repository :
git clone <repository_url>
- Add a remote repository :
git remote add <remote_name> <remote_url>
๐Basic Workflow
- Add a file to the staging area :
git add <filename>
- Add all files to the staging area :
git add .
- Commit changes to the repository :
git commit -m "[commit_message]"
๐Updating and Publishing
- Publish all local commits to a remote branch :
git push <remote_name> <branch_name>
- Publish all local commits to a new branch :
git push -u <remote_name> <branch_name>
- Update the local repository :
git pull
- Download remote changes without merging :
git fetch
๐ฟBranches
- Create a new branch :
git branch <branch_name>
- Switch to a branch :
git checkout <branch_name>
- Create a new branch and switch to it :
git checkout -b <branch_name>
- List all the branches :
git branch -a
- Determine your current branch :
git branch
๐Merging
- Combine changes of one branch to your current branch :
git merge <branch_name>
- Reapply commits on top of another base commit :
git rebase <branch_name>
๐Resets
- Discard all local changes :
git reset --hard HEAD
๐Status and History
- View the status of the working directory :
git status
- Show difference between commits or the working directory :
git diff
- Show commit history :
git log
- Display who last modified each line of a file :
git blame
๐ผAdditional commands
- Remove untracked files :
git clean -f
Useful tips โ๐พ
- Donโt EVER commit private keys / Api keys / certificates.
- Use descriptive commit messages and branch names.
- Create a branch for every new feature, and delete the branch once the feature is merged into main.
- Ignore some files using a
.gitignore
file. - Regularly update and sync with remote repositories
- Use git alias for frequently used commands.
Visit Atlassian or GitHub Education to read more on other advanced git commands๐ฅ
In conclusion, mastering Git commands is crucial for efficient version control and collaboration in software development, enabling developers to effectively manage projects and streamline workflows.
Did you learn anything new โ Share it in the comments.
Let's get interactive on Twitter and LinkedIn
Follow my projects on GitHub
Happy coding ๐จ๐พโ๐ป
Top comments (6)
Great compilation๐
One thing though..
I think putting the commands in code blocks would help make them standout clearer between the texts
Example๐
Definitely keeping your cheat sheet Angel๐ .
You gotta keep it yeah ๐.
I'll look into your suggestion and update as best fit. Thank you so much. Really appreciate โค๏ธ
A suggestion: before using
git clean -f
you may want to rungit clean -n
as a dry-run and see what git will clean. If you want to include directories:git clean -d -f
to force itgit clean -d -n
to have a preview peek to see what the command will actually delete (yes, this is not a typo)If you want some real fun, run
git clean -d -x -f
. It will also delete ignored files and directories. So please, don't run this on a production server. You will cry for your mama (who can't fix it for you ๐)Point being, be very careful with the git command
clean
.What wonderful insights.
Surely such precautions must be taken to ensure that such isn't done on the production server to cause any setbacks.
Thank you ๐
Good piece man. keep it up
Thanks Fred. More of this coming right up.
Appreciate ๐ฅ