Git 一些高端用法记录

强制复位到上一个版本

git fetch --all
git reset --hard origin/master

git reset --hard HEAD

git reset --hard HEAD~2

从历史版本中批量删除指定文件

参考: https://help.github.com/cn/github/authenticating-to-github/removing-sensitive-data-from-a-repository

# 删除指定的文件,以及因此生成的任何空提交
git filter-branch --force --index-filter \
  "git rm --cached --ignore-unmatch PATH-TO-YOUR-FILE-WITH-SENSITIVE-DATA FILE2 FILE3..." \
  --prune-empty --tag-name-filter cat -- --all

# 然后可以建立 gitignore
# 上传前注意检查数据

# 上传
git push origin --force --all
git push origin --force --tags

# 重新clone仓库 实现本地仓库的垃圾回收

在所有历史版本中搜索

参考: https://stackoverflow.com/questions/2928584

git rev-list --all | xargs git grep -i WORDS_REGEXP

发布者

胡中元

《中原驿站》站长

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注