修改最后一次提交
# 只修改提交信息
git commit --amend
# 重新编辑提交信息
# 修改内容
# 先修改好内容
git add
git commit --amend
# 或者
git commit --amend --no-edit
深度修改历史
修改历史作者信息
git filter-branch --commit-filter '
if [ "$GIT_AUTHOR_EMAIL" = "schacon@localhost" ];
then
GIT_AUTHOR_NAME="Scott Chacon";
GIT_AUTHOR_EMAIL="schacon@example.com";
git commit-tree "$@";
else
git commit-tree "$@";
fi' HEAD
移除所有历史提交中的某个文件
git filter-branch --tree-filter 'rm -f password.md' HEAD
强制推送到远程仓库
git push --force-with-lease origin dev
移除本地的旧历史
git for-each-ref --format='delete %(refname)' refs/original | git update-ref --stdin
git gc --prune=now