因为自己手残导致Git库内添加一些奇怪的东西,还很占地方,于是就有了这篇文章。
Error:请谨慎对待每一次Commit!
Git清理全部Commit
缺点就是你提交记录和文件历史全没了,但是简单高效粗暴~
1#切换分支
2git checkout --orphan latest_branch
3
4#添加所有文件
5git add -A
6
7#提交分支
8git commit -m "提交说明"
9
10#删除主分支
11git branch -D master
12
13#重名当前分支为master(主分支)
14git branch -m master
15
16#提交到远程仓库(强制覆盖)
17git push -f origin master
Git删除指定文件及其历史记录
Error:注意:文件路径千万不要以/开头!否则就不是相对路径了!
上条警告是来自于被舍友`rm -rf /*`的某人的悲鸣~
1#删除指定文件及其历史记录
2git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch <你要删除的文件路径(相对于项目根目录)>' --prune-empty --tag-name-filter cat -- --all
3
4#强制提交repo到远程仓库
5git push origin master --force --all
6
7#强制提交Tags到远程仓
8git push origin master --force --tags
9
10#回收空间
11rm -rf .git/refs/original/
12git reflog expire --expire=now --all
13git gc --prune=now
14git gc --aggressive --prune=now
删除无用的Tags
1#本地
2git tag | grep "<你要删除的tag包含的关键字>" |xargs git tag -d
3
4#远程
5git show-ref --tag | grep "<你要删除的tag包含的关键字>"| awk '{print $2}'|xargs git push origin --delete