====== GIT ====== ====== Preparation ====== === git-email === sudo apt-get install git-email git config sendemail.signedoffcc false git config sendemail.suppressfrom true === replace github's git: links === NOTE: Github was disabled git protocol. So only ''https:'' or ssh ''git@'' is valid. git config --global url.https://github.com/daurnimator/lua-systemd.insteadOf git://github.com/daurnimator/lua-systemd # or git config --global url.https://.insteadOf git:// Keywords: git protocol, ''git:'' protocol === replace github https links === git config --global url.git@github.com:.insteadOf https://github.com/ ====== Import HG (mercurial) repo ====== sudo apt-get install hg-fast-export git init hg-fast-export -r . ====== Usage ====== ==== fetch moved tags ==== git fetch origin --tags --force ==== Undo a commit ==== Undo a commit and redo $ git commit ... $ git reset --soft HEAD~1 << edit files as necessary >> $ git add .... $ git commit -c ORIG_HEAD ==== Local copy of one branch from public repo ==== git remote add ti git://git.ti.com/ti-linux-kernel/ti-linux-kernel.git git remote add tilocal /home/user/mirrors/ti-linux-kernel git fetch ti refs/heads/ti-linux-3.14.y git checkout ti-linux-3.14.y Now we have latest version from ti-linux-3.14.y branch. Add our local GitLab server git remote add gitlab ssh://path... And push current branch (we are on ti-linux-3.14.y after checkout) git push -u gitlab ==== repo clean and repack ==== git reflog expire --expire=1.minute refs/heads/master git fsck --unreachable git prune git gc ====== Debug ====== GIT_TRACE=1 git clone ... GIT_CURL_VERBOSE=1 GIT_TRACE=1 git clone ...