Introduction
Git is a distributed source code management software that helps manage changes and history of the source code.
Synthesis of 15 git commands
1. Git clone: git clone <remote_repo>
This command clones a repository from GitHub/GitLab/Bitbucket to your local machine.
For newcomers joining a project, this command is essential
2. Git init: git init
This command helps you initialize source code into a repository, and git will manage this source code.
3. Git fetch: git fetch
Used to retrieve files/branches added or changed in the remote repository to the local repository.
4. Git merge: git merge
Used to merge a branch into the current branch.
5. Git pull: git pull
Combination of git fetch and git merge.
Typically, developers use git fetch to check for added/changed files/branches before pulling.
6. Git branch: git branch <branch_name>
Create, delete, list, rename branches.
7. Git checkout: git checkout <branch_name>
Switch to another branch.
With git branch
, you only create a new branch but won't automatically switch to it. Use git checkout -b <branch_name>
to create and switch to a new branch.
8. Git status: git status
Check the status of the source code to see if any files are added/modified/deleted.
9. Git add: git add
Stage files.
Use git add .
to add all files that have been added/modified/deleted.
10. Git log: git log
List all commits including commit hash, committer, commit date, and commit message.
Use git log --oneline
to display only commit hash and commit message.
11. Git revert: git revert
Create a new commit with the commit you want to revert.
Useful when you've committed a file, but that file is faulty, missing, or you want to change a feature and need to revert that commit.
12. Git reset: git reset <commit_hash>
Similar to git revert but with git reset, you won't create a new commit. Instead, it removes new commits and reverts to the commit you want to reset.
git reset <commit_hash>
: reset commit and keep files in the index (working space)
git reset --soft <commit_hash>
: reset commit and keep files in the stage
git reset --hard <commit_hash>
: reset commit and delete files that have been added/modified/deleted
13. Git rebase: git rebase
Similar to git merge, git rebase also helps merge branches, but instead of creating a new commit and inserting commit orders based on commit time, with git rebase, commits are brought to the top of the branch flow.
Git rebase has many useful features such as changing commit messages to other messages, merging commits.
14. Git stash: git stash
If you encounter a situation where you are developing on the current branch but need to switch to another branch, you won't be able to switch if there are changes to files in the current branch.
To switch to another branch, you need to commit these changes, but you don't want to commit yet because the feature isn't fully developed.
At this point, use git stash. It will stash your files, and you can comfortably switch to another branch. When you return to the old branch, you can apply the stash and continue developing.
15. Git tag: git tag <version>
For projects released in versions, tags are used to manage each version as well as the changelog of each version.
Conclusion
Finally, I have synthesized the 15 most commonly used Git commands. Additionally, you can explore more commands to apply to project development. Thank you for reading.
Top comments (0)