Commands
Remove file from git tracking list
git rm --cached <file>
Git stash one particular file
git stash push -m "message" <file>
Git stage only those files which are tracked.
git add -u
Git merge/rebase with strategy
I branched off the wrong branch in Git. How do I fix this?
https://luisdalmolin.dev/blog/branched-off-the-wrong-branch-in-git/
git rebase --onto feature/XX-2 feature/XX-1 feature/XX-2-bkp
git submodule If you run this once, it ensures that when you pull you also get updates to any submodules in a repo:
git config --global submodule.recurse true
git pull
even when you have made changes locally.
git config --global pull.rebase true
git config --global rebase.autoStash true
Reuse Recorded Resolution¶
Ever run into the same conflict more than once?
you can turn on a feature where Git memorizes the conflict and the resolution to it.
git config --global rerere.enabled true
git config --global rerere.autoUpdate true
settings:¶
sort branches by last commit date descending
git config --global column.ui auto
git config --global branch.sort -committerdate
-
Safe Force Pushing
git push --force-with-lease git config --global alias.fpush push --force-with-lease
-
Sign commits by default
git config gpg.format ssh git config user.signingkey ~/.ssh/id_rsa.pub