meta data for this page
Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
git:start [2015/05/20 12:17] niziak |
git:start [2023/05/30 10:29] (current) niziak |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | GIT PAGE | + | ====== GIT ====== |
+ | |||
+ | ====== Preparation ====== | ||
+ | |||
+ | === git-email === | ||
+ | <code bash> | ||
+ | sudo apt-get install git-email | ||
+ | git config sendemail.signedoffcc false | ||
+ | git config sendemail.suppressfrom true | ||
+ | </code> | ||
+ | |||
+ | === replace github's git: links === | ||
+ | NOTE: Github was disabled git protocol. So only ''https:'' or ssh ''git@'' is valid. | ||
+ | |||
+ | <code bash> | ||
+ | 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:// | ||
+ | </code> | ||
+ | |||
+ | Keywords: git protocol, ''git:'' protocol | ||
+ | |||
+ | === replace github https links === | ||
+ | <code bash>git config --global url.git@github.com:.insteadOf https://github.com/</code> | ||
+ | |||
+ | ====== Import HG (mercurial) repo ====== | ||
+ | <code bash> | ||
+ | sudo apt-get install hg-fast-export | ||
+ | git init | ||
+ | hg-fast-export -r . | ||
+ | </code> | ||
+ | |||
+ | |||
+ | ====== Usage ====== | ||
+ | |||
+ | ==== fetch moved tags ==== | ||
+ | <code bash>git fetch origin --tags --force</code> | ||
==== Undo a commit ==== | ==== Undo a commit ==== | ||
Undo a commit and redo | Undo a commit and redo | ||
<code bash> | <code bash> | ||
- | $ git commit ... (1) | + | $ git commit ... |
- | $ git reset --soft HEAD~1 (2) | + | $ git reset --soft HEAD~1 |
- | << edit files as necessary >> (3) | + | << edit files as necessary >> |
- | $ git add .... (4) | + | $ git add .... |
- | $ git commit -c ORIG_HEAD (5) | + | $ git commit -c ORIG_HEAD |
</code> | </code> | ||
+ | |||
==== Local copy of one branch from public repo ==== | ==== Local copy of one branch from public repo ==== | ||
Line 26: | Line 64: | ||
And push current branch (we are on ti-linux-3.14.y after checkout) | And push current branch (we are on ti-linux-3.14.y after checkout) | ||
<code bash>git push -u gitlab</code> | <code bash>git push -u gitlab</code> | ||
+ | |||
+ | ==== repo clean and repack ==== | ||
+ | <code bash> | ||
+ | git reflog expire --expire=1.minute refs/heads/master | ||
+ | git fsck --unreachable | ||
+ | git prune | ||
+ | git gc | ||
+ | </code> | ||
+ | |||
+ | ====== Debug ====== | ||
+ | <code bash> | ||
+ | GIT_TRACE=1 git clone ... | ||
+ | GIT_CURL_VERBOSE=1 GIT_TRACE=1 git clone ... | ||
+ | </code> | ||