GIT
Submodules
git submodule update --recursive --init
Reset history of a repo
git checkout --orphan newBranch
git add -A
git commit
git branch -D master
git branch -m master
git push -f origin master
git gc --aggressive --prune=all
See public ssh keys
https://github.com/USERNAME.keys
https://gitlab.com/USERNAME.keys
GIT config
git config --list --global
git config --global user.name "n4n5"
Commits stats
git shortlog -sn
pre-commit
python -m pip install -u pre-commit
python -m pre_commit install
python -m pre_commit run --all-files
Add multiple push URLs
git remote set-url --add --push [remote] [original_repo_URL]
git remote set-url --add --push [remote] [second_repo_URL]
git remote -v
Change commit date
changeCommitDate() {
VARIABLE="${1:-3}"
printf 'DAT=$(date --date "%s days ago" -R) GIT_AUTHOR_DATE=$DAT GIT_COMMITTER_DATE=$DAT git commit -m "message"\n' "$VARIABLE"
}
Useful git commands
git add -p
git commit -v
git push --force-with-lease
https://dimtion.fr/blog/average-engineer-tips/