In this post, will be discussing the various git commands that are very helpful to a developer in daily life
git init — Create a local repository
git clone — Create a local copy of the remote repository
git fetch — Fetch the remote changes into the local repository
git rebase — Bring your changes on top of remote changes (usually preferred way of doing it after fetching remote changes — a safe way to do it. When executed after git fetch -result will be like git pull)
git pull — Bring remote changes to your local working branch
git branch — Lists local branches (git branch -a lists both remote and local branches)
First checkout the branch using : git checkout -b <local_branch_name>
This will create a local branch.
Now create a remote branch by pushing your local branch to the remote.
git push -u origin <local_branch>:<remote_branch_tobe_created>
git checkout — Check out a branch and switch to that. When checking out remote and create local branch -use git branch -b)
git status — Display the current state of the current branch. This command displays what files are committed, what files are new, and what has already added
git add — when done with changes, add them to the local staging. One step before the git commit.
git add . (adds all the changes)
git add -u (adds only the edited/updated files)
git commit — Creates a local commit on the working branch. Usually commit with a commit message using git commit -m “commit message”
git push — Push the local changes to remote.
If tracking is established, git push will push the commit(s) to the remote
Otherwise use — git push origin master(whatever branch you want to push)
git merge — Used to merge multiple branches. Stay on the branch you want to merge and then use the incoming branch name to merge the incoming change into the branch you are on.
git merge <incoming_branch>
git log — Display the commits on the current branch
Limit the last “n” number of commits: git log -5 : this will display the last 5 commits
git stash — Save your work onto a temporary area. This can be popped back into the working branch if there is some conflict and needs resolution.
PrettyPrint the logs lines — now you can use git lg or git lg -5
git config --global alias.lg "log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"