Git Branch Usage
Back to current version Restore this version

{toc}

This is for keeping your branch up to date and always having a PR / MR with only one commit. It is helpful if you use Oh-My-Zsh.

Squashing Your Branch#

Checkout your branch

omz> gco $branch_name
zsh> git checkout $branch_name

Rebase your branch from master. $number_of_commits is displayed in GitLab at the top, where it says

Overview: X, Commits: Y, Pipelines: Z, ...

The number you want is Y.

omz> grbi HEAD~5
zsh> git rebase -i HEAD~$number_of_commits

Force push your branch

omz> ggfl
zsh> git push --force-with-lease origin $current_branch

Update From Master#

Time passes, commits get merged to master. You need to update your branch.

Checkout master

omz> gcm
zsh> git checkout master

Pull

omz> gl
zsh> git pull

Checkout branch

omz> gco $branch_name
zsh> git checkout $branch_name

Rebase from master

omz> grbm
zsh> git rebase master

Handle conflicts, test, etc.

Force push \$current_branch to remote.

omz> ggfl
zsh> git push --force-with-lease origin $current_branch

Push to Master#

Checkout master, merge feature branch into master, push master

omz> gcm
zsh> git checkout master
omz> gm $feature_branch
zsh> git merge $feature_branch
omz> ggp
zsh> git push origin master

CategoryComputing.SCM.Git