要注意儘可能不要往git上提交二進制文件,二進制文件是不按diff保存的,即便提交了也不要每次改一點而後再提交一遍。git
一:常規辦法
1.刪除無用的分支github
$ git branch -d <branch_name>
2.刪除無用的tagbootstrap
$ git tag -d <tag_name>
3.清理本地版本庫jsp
$ git gc --prune=now
二:高級辦法
注意高級辦法會致使push衝突,須要強制提交,其餘人pull也會遇到衝突,建議從新克隆。
!!!注意這些操做都很危險,建議找個示例庫進行測試,確保本身徹底掌握以後再實際操做。測試
1.徹底重建版本庫url
$ rm -rf .git $ git init $ git add . $ git commit -m "first commit" $ git remote add origin <your_github_repo_url> $ git push -f -u origin master
2.有選擇性的合併歷史提交code
$ git rebase -i <first_commit>
會進入一個以下所示的文件orm
1 pick ba07c7d add bootstrap theme and format import 2 pick 7d905b8 add newline at file last line 3 pick 037313c fn up_first_char rename to caps 4 pick 34e647e add fn of && use for index.jsp 5 pick 0175f03 rename common include 6 pick 7f3f665 update group name && update config
將想合併的提交的pick改爲s,如rem
1 pick ba07c7d add bootstrap theme and format import 2 pick 7d905b8 add newline at file last line 3 pick 037313c fn up_first_char rename to caps 4 s 34e647e add fn of && use for index.jsp 5 pick 0175f03 rename common include 6 pick 7f3f665 update group name && update config
這樣第四個提交就會合並進入第三個提交。
等合併完提交以後再運行it
$ git push -f $ git gc --prune=now