赞
踩
更改提交记录,解决误提交大文件如mp4、密码文件如.env等一系列问题
# 检索项目当中的大文件
git rev-list --objects --all | grep -E `git verify-pack -v .git/objects/pack/*.idx | sort -k 3 -n | tail -10 | awk '{print$1}' | sed ':a;N;$!ba;s/\n/|/g'`
# 移除所有分支中tag为cat里面的大文件
# --prune-empty 如果删除了大文件而导致了某些commit的更改记录为空,则不再保留这些commit
git filter-branch --tree-filter 'rm -f path/to/large/files' --prune-empty --tag-name-filter cat --all
替换提交中的指定注释,支持正则表达式
git filter-branch --msg-filter "sed s/Merge.*/分支合并/g" -f master
git filter-branch --msg-filter "sed s/Merge.*/分支合并/g" -f from_version..to_version
修改commit message
git commit --amend
可以对上一次的提交做修改
push -f
如果上一次的提交已经push了,那么需要加f参数覆盖服务端,不过不建议这么搞
获取tag列表
git tag
删除所有tag
git tag | xargs git tag -d
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。