git

差異處

這裏顯示兩個版本的差異處。

連向這個比對檢視

兩邊的前次修訂版 前次修改
下次修改
前次修改
git [2017/11/03 22:54] jzgit [2018/02/27 04:29] (目前版本) jz
行 1: 行 1:
-====== git ======+====== Git ======
  
-===== bare =====+===== Bare =====
  
-convert existing git repo to bare repo+Convert existing git repo to bare repo
 <code> <code>
 mkdir repo.git mkdir repo.git
行 10: 行 10:
 cd repo.git cd repo.git
 git config --bool core.bare true git config --bool core.bare true
 +</code>
 +
 +===== Archive =====
 +https://stackoverflow.com/questions/160608/do-a-git-export-like-svn-export
 +<code>
 +# local
 +git archive --format zip --output /path master
 +# remote
 +# path is optional
 +git archive --format=tar \
 +--remote=ssh://remote_server/remote_repository master path1/ path2/ | tar -xv
 +</code>
 +===== Shallow clone =====
 +
 +Convert shallow clone to full clone
 +<code>
 +git fetch --unshallow
 +git fetch --depth=2147483647
 +</code>
 +
 +Convert full clone to shallow clone
 +
 +https://stackoverflow.com/questions/38171899/how-to-reduce-the-depth-of-an-existing-git-clone
 +<code>
 +git fetch --depth 10 / git fetch --deepen 10
 +git reflog expire --expire=all --all
 +git tag -l | xargs git tag -d
 +git gc --prune=all
 +</code>
 +
 +https://stackoverflow.com/questions/4515580/how-do-i-remove-the-old-history-from-a-git-repository
 +<code>
 +; Shallow to last 5 commits
 +git rev-parse HEAD~5 > .git/shallow
 +
 +; Manually remove all other branches, tags and remotes that refers to old commits
 +
 +; Prune unreachable objects
 +git fsck --unreachable ; Will show you the list of what will be deleted
 +git gc --prune=now     ; Will actually delete your data
 +</code>
 +
 +===== git shared repo =====
 +<code>
 +[core]
 +sharedRepository = 0666
 </code> </code>
  
行 21: 行 67:
 </code> </code>
  
-[[http://www.radcortez.com/i-moved-to-git-svn/]]+==== Stash ==== 
 +<code> 
 +git stash show -p stash@{1} 
 +</code> 
 + 
 +==== Rewrite ==== 
 +<code> 
 +svn-remote.<name>.rewriteRoot 
 +This allows users to create repositories from alternate URLs. For example, an administrator could run git svn on the server locally (accessing via file://) but wish to distribute the repository with a public http:// or svn:// URL in the metadata so users of it will see the public URL. 
 + 
 +svn-remote.<name>.rewriteUUID 
 +Similar to the useSvmProps option; this is for users who need to remap the UUID manually. This may be useful in situations where the original UUID is not available via either useSvmProps or useSvnsyncProps. 
 +</code> 
 + 
 +  * [[http://www.radcortez.com/i-moved-to-git-svn/]] 
 +  * [[https://stackoverflow.com/questions/5975667/how-to-switch-svn-repositories-using-git-svn]] 
 + 
 +===== Convert svn to git repo =====
  
-[[https://stackoverflow.com/questions/5975667/how-to-switch-svn-repositories-using-git-svn]]+[[https://epicserve-docs.readthedocs.io/en/latest/git/svn_to_git.html]]
  • git.1509720898.txt.gz
  • 上一次變更: 2017/11/03 22:54
  • jz