meta data for this page
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
git:start [2015/02/26 13:50] – created niziak | git:start [2024/12/11 12:24] (current) – niziak | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | GIT PAGE | + | ====== |
+ | |||
+ | ====== Preparation ====== | ||
+ | |||
+ | ===== bash completion ===== | ||
+ | |||
+ | [[https:// | ||
+ | |||
+ | Package '' | ||
+ | < | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | </ | ||
+ | |||
+ | <file bash ~/ | ||
+ | . / | ||
+ | . / | ||
+ | |||
+ | if [ " | ||
+ | # | ||
+ | PS1=' | ||
+ | else | ||
+ | # | ||
+ | PS1=' | ||
+ | fi | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | === git-email === | ||
+ | <code bash> | ||
+ | sudo apt-get install git-email | ||
+ | git config sendemail.signedoffcc false | ||
+ | git config sendemail.suppressfrom true | ||
+ | </ | ||
+ | |||
+ | === replace github' | ||
+ | NOTE: Github was disabled git protocol. So only '' | ||
+ | |||
+ | <code bash> | ||
+ | git config --global url.https:// | ||
+ | # or | ||
+ | git config --global url.https:// | ||
+ | </ | ||
+ | |||
+ | Keywords: git protocol, '' | ||
+ | |||
+ | === replace github https links === | ||
+ | <code bash>git config --global url.git@github.com: | ||
+ | |||
+ | ====== Import HG (mercurial) repo ====== | ||
+ | <code bash> | ||
+ | sudo apt-get install hg-fast-export | ||
+ | git init | ||
+ | hg-fast-export -r . | ||
+ | </ | ||
+ | |||
+ | |||
+ | ====== Usage ====== | ||
+ | |||
+ | ==== fetch moved tags ==== | ||
+ | <code bash>git fetch origin --tags --force</ | ||
+ | |||
+ | ==== Undo a commit ==== | ||
+ | Undo a commit and redo | ||
+ | |||
+ | <code bash> | ||
+ | $ 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 ==== | ||
+ | <code bash> | ||
+ | git remote add ti git:// | ||
+ | git remote add tilocal / | ||
+ | git fetch ti refs/ | ||
+ | git checkout ti-linux-3.14.y | ||
+ | </ | ||
+ | |||
+ | Now we have latest version from ti-linux-3.14.y branch. | ||
+ | Add our local GitLab server | ||
+ | |||
+ | <code bash>git remote add gitlab ssh:// | ||
+ | |||
+ | And push current branch (we are on ti-linux-3.14.y after checkout) | ||
+ | <code bash>git push -u gitlab</ | ||
+ | |||
+ | ==== repo clean and repack ==== | ||
+ | <code bash> | ||
+ | git reflog expire --expire=1.minute refs/ | ||
+ | git fsck --unreachable | ||
+ | git prune | ||
+ | git gc | ||
+ | </ | ||
+ | |||
+ | ====== Debug ====== | ||
+ | <code bash> | ||
+ | GIT_TRACE=1 git clone ... | ||
+ | GIT_CURL_VERBOSE=1 GIT_TRACE=1 git clone ... | ||
+ | </ | ||
+ |