meta data for this page
  •  

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
git:start [2015/02/26 13:50] – created niziakgit: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 and redo 
 + 
 +<code bash> 
 +$ git commit ...               
 +$ git reset --soft HEAD~1      
 +<< edit files as necessary >>  
 +$ git add ....                 
 +$ git commit -c ORIG_HEAD      
 +</code> 
 + 
 + 
 +==== Local copy of one branch from public repo ==== 
 +<code bash> 
 +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 
 +</code> 
 + 
 +Now we have latest version from ti-linux-3.14.y branch. 
 +Add our local GitLab server 
 + 
 +<code bash>git remote add gitlab ssh://path... </code> 
 + 
 +And push current branch (we are on ti-linux-3.14.y after checkout) 
 +<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> 
 +