Git Essential Commands: fetch, rebase, amend, cherry-pick
Rusydy
Posted on January 25, 2023
Git is a powerful version control system that allows developers to collaborate and manage their code effectively. In this article, we will take a closer look at four essential git commands: git fetch
, git rebase
, git amend
, and git cherry-pick
.
Git Fetch
The git fetch
command is used to retrieve commits and other information from a remote repository. It brings the remote branches and commits into your local repository, but it does not merge them with your current branch.
Flags
-p
, --prune
: This flag will remove any remote branches that have been deleted from the remote repository.
-v
, --verbose
: This flag will provide more detailed output for the fetch operation.
-a
, --all
: This flag will fetch all the remote branches.
-t
, --tags
: This flag will fetch all the tags from the remote repository.
Examples
git fetch origin
git fetch --all --tags
Use Case
When working on a team project, you can use git fetch to retrieve the latest changes made by other team members before you start working on new changes.
Git Rebase
The git rebase
command is used to apply commits from one branch onto another branch. It allows you to take the commits from one branch and apply them on top of another branch, effectively rewriting the branch's history.
Flags
-i
, --interactive
: This flag will open an interactive rebase session.
-p
, --preserve-merges
: This flag will preserve the merge commits.
-s
, --strategy
: This flag will specify the merge strategy.
-X
, --strategy-option
: This flag will specify the merge strategy option.
--autosquash
: This flag will automatically squash fixup commits.
Examples
git rebase main
git rebase -i --autosquash origin/main
Use Case
When working on a feature branch, you can use git rebase
to update your branch with the latest changes made to the master branch before merging it back.
Git Amend
The git amend
command is used to modify the most recent commit. It allows you to add new changes to the most recent commit without creating a new commit.
Flags
--no-edit
: This flag will use the existing commit message.
--reset-author
: This flag will reset the author of the commit.
--no-verify
: This flag will skip the pre-commit and commit-msg hooks.
Examples
git commit --amend
git commit --amend --no-edit
Use Case
When working on a feature branch, you can use git amend
to add new changes to the most recent commit before pushing it to the remote repository.
Git Cherry-Pick
The git cherry-pick
command is used to apply the changes introduced by some existing commits. It allows you to pick specific commits from one branch and apply them on top of another branch.
Flags
-n
, --no-commit
: This flag will apply the changes without creating a new commit.
-e
, --edit
: This flag will open an editor to edit the commit message.
-x
, --no-commit
: This flag will add a Signed-off-by line to the commit message.
Examples
git cherry-pick 1234
git cherry-pick -n 1234
Use Case
When working on a feature branch, you can use git cherry-pick
to pick specific commits from the master branch and apply them on top of your feature branch.
Posted on January 25, 2023
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.
Related
March 6, 2023