git filter-branch應用


1.修改author和committer

git filter-branch --commit-filter '
export GIT_AUTHOR_EMAIL=me@example.com;
export GIT_AUTHOR_NAME=me;
export GIT_COMMITTER_EMAIL=me@example.com;
export GIT_COMMITTER_NAME=me;
git commit-tree "$@"
'

2.刪除誤提交的文件

a.用git filter-branch對所有分支上的commit執行命令操作,忽略對該文件的追蹤,
將其從git倉庫中移除,並重寫每一條記錄

//從指定的commit中刪除誤操作文件的記錄
git filter-branch --tree-filter 'git rm -f --ignore-unmatch {{文件名}}' [commit1..commit2]

//從當前分支的前30次提交開始遍歷,刪除誤操作文件的引用
git filter-branch --tree-filter 'git rm -f {{文件名}}' HEAD~30..HEAD

b.強制推送到遠端

git push origin master --force

 

 

出處:https://walterlv.oschina.io/git/2017/09/19/delete-file-using-filter-branch.html
出處:http://www.jianshu.com/p/099e644b60fb


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM