2011-11-24

git 使用筆記

刪除所有 .git 資料夾
    find . -type f | grep -i .git | xargs rm
取得程式:
    git clone git://URL
取得最新的程式:
    git pull
目前狀態:
    git status
如果確定 repo 有更新,但使用 git pull 確沒有效果(顯示 Your system reports no Git commands at all.)時使用:
    git fetch origin master:tmp
    git merge tmp

程式修改完之後:
    git add . 
    git commit –a –m '註解'

    git commit -i <file> -m '註解'
刪除沒有被加入到 git 的檔案:
    git clean –d -f
回復上次 commit 前的狀態(包含實際檔案):
    git reset –-hard HEAD^
回復到與 repo 上 origin/master 相同的狀態(包含實際檔案):
    git reset –-hard origin/master
個別檔案回復到 modified 之前的狀態(包含實際檔案):
    git checkout <filename>
個別檔案回復到某次 commit 時的狀態(包含實際檔案):
    git checkout <commit id> <filename>
回復上次 commit 前的狀態(不包含實際檔案):
    git reset –-soft HEAD^
更改 branch 名稱:
    git branch -m <old_name> <new_name>
修改的程式回寫至 repo:
    git push

--------------------
列出 stash 清單
    git stash list
將 working copy 暫存
    git stash
取出最後一次執行暫存的 stash
    git stash pop

--------------------
產生備份
    git bundle create <filename> --all
還原至某目錄
    git clone <filename> <foldername>
    至該 folder 內輸入
    git fetch
    git pull

將現有的 repository push 還原至其它 repository
    git push http://<git repo url> +<current branch>:master

--------------------
收拾失控的 repository (objects/pack/ 資料夾內出現一堆 pack file)
    git gc --aggressive
統計 repository objects
    git count-objects -v

0 意見 :

張貼留言