我一直在研究git存儲庫並進行了一些提交。我一直在使用的文件塊在我的PHP文件,包括我的私人電子郵件地址,像這樣:更改Git歷史記錄中的電子郵件地址
/**
* Bla bla bla.
*
* @author: Nic <[email protected]>
*/
現在我已經創建了一個新的電子郵件地址和更新的文檔塊,用新的替換舊的地址。但是這個更改只適用於我更改文檔之後的提交。
如何從git的歷史記錄中完全刪除舊的電子郵件地址,並用新地址替換所有實例?
我試過使用git filter-branch使用this blog post但沒有成功。我得到以下結果:
git filter-branch --tree-filter 'git ls-files -z "*.php" |xargs -0 perl -p -i -e "s#[email protected]#[email protected]#g"' -- --all
Usage: git core\git-filter-branch [--env-filter <command>] [--tree-filter <command>]
[--index-filter <command>] [--parent-filter <command>]
[--msg-filter <command>] [--commit-filter <command>]
[--tag-name-filter <command>] [--subdirectory-filter <directory>]
[--original <namespace>] [-d <directory>] [-f | --force]
[<rev-list options>...]
難道是電子郵件地址的特殊字符(@和。)被搞亂了正則表達式?除此之外,我不知道發生了什麼問題,任何幫助表示讚賞!
這隻會改變提交的作者,問題是尋找一種方法來更改文件內容中的電子郵件地址。 – qqx
我已經找到了一個,但由於qqx說它改變了提交的郵件地址,而不是文件內的文檔塊。 –
這適用於我的「=」,而不是「==」。 –