git remote add [remote_name] /path/to/other/repo/.git
git fetch [remote_name]
git branch [branch_name] [remote_name]/[remote_branch_name]
git checkout -- [被rm的檔案]
或是
git checkout-index [被rm的檔案]
git ls-files -d | xargs git checkout --
git reset HEAD
git ls-files -d | xargs git checkout-index
git checkout [刪除檔案的那次commit]^ -- [被刪除的檔案]
git rev-list -n 1 HEAD -- [被刪除的檔案]
接著再前面的指令回復檔案:
git checkout [刪除檔案的那次commit]^ -- [被刪除的檔案]
git checkout $(git rev-list -n 1 HEAD -- [被刪除的檔案])^ -- [被刪除的檔案]
git format-patch -s -n --stdout --text HEAD^..HEAD > file_name.patch
刪除本地端的branch,注意不能刪除所在的branch,要先checkout到其它的branch再進行刪除。-D
是表示強制刪除,不檢查branch是否已經有合併至其它的branch。
git branch -d [要刪除的branch名稱]
git branch -D [要刪除的branch名稱]
刪除完本地端的branch,還想要刪除遠端對應的branch,那可以用push
git push origin :[遠端的branch名稱]
git rm --cached [被刪除的檔案]
git fetch origin --prune
git log -p [檔案]