DevOps Buzz
Search…
Bash / Shell
Bitbucket
Distros
Elasticsearch
General
Guidelines / Standards
microk8s
Prometheus
RabbitMQ
VirtualBox
Cheat Sheet
Useful git commands

Branch

Move changes to another branch

1
git stash
2
3
# To create a new branch
4
git checkout -b correct-branch
5
6
# To use an existing branch...
7
# git checkout correct-branch
8
9
git stash pop
Copied!

Discard local changes

1
git reset --hard origin/master
2
git pull origin master
Copied!

Update parent branch

1
git checkout feature_abc
2
git checkout -b feature_def
3
# --> Someone changed something in feature_abc
4
git pull origin feature_abc
Copied!

Clone

Git clone private repo

1
git clone https://myemail%40gmail.com:[email protected]/my-group/my-repo.git
Copied!
Where:
  • myemail%40gmail.com means [email protected] and it is your username;
  • 123456 is your password;

Fork

Keeping a fork up to date

Clone your fork
1
git clone [email protected]:YOUR-USERNAME/YOUR-FORKED-REPO.git
Copied!
Add remote from original repository in your forked repository.
1
cd into/cloned/fork-repo
2
git remote add upstream git://github.com/ORIGINAL-DEV-USERNAME/REPO-YOU-FORKED-FROM.git
3
git fetch upstream
Copied!
Updating your fork from original repo to keep up with their changes.
1
git pull upstream master
Copied!

Track forks

Manage credentials

Store credentials permanently

1
git config credential.helper store
Copied!

Store credentials on cache

To avoid providing the same credentials every time, you may enable the Git credentials cache through the following command:
1
git config --global credential.helper cache
Copied!
The default cache expiry timeout is 900 seconds (15 minutes) and can be changed with the --timeoutoption as follows:
1
git config --global credential.helper 'cache --timeout=300'
Copied!
If you want the daemon to exit early, forgetting all cached credentials before their timeout, you can issue an exit action:
1
git credential-cache exit
Copied!

Module

Remove submodule

1
mv a/submodule a/submodule_tmp
2
git submodule deinit -f -- a/submodule
3
rm -rf .git/modules/a/submodule
4
git rm -f a/submodule
5
6
# or, if you want to leave it in your working tree and have done step 0
7
# git rm --cached a/submodule
8
mv a/submodule_tmp a/submodule
Copied!

References

Push

You cannot push commits for '[email protected]'. You can only push commits that were committed with one of your own verified emails.

1
git commit --amend --reset-author --no-edit
2
git config user.email "[email protected]"
3
git config user.name "Your Name"
4
git push origin your-branch
Copied!

Tag

Create

1
# Create tag
2
git tag -a v1.0 -m "Short description"
3
# List tag
4
git tag
5
# Show tag
6
git show v1.0
7
# Push tag
8
git push origin v1.0
Copied!

Delete

1
git tag -d v1.0
2
git push --delete origin v1.0
Copied!