2個星期前,我提交了我的應用程序的配置,其中有我的密碼,這不是很有用。 如何從提交歷史記錄中刪除文件並確保它不會被重新提交?Git - 刪除並排除配置文件
我想從所有提交樹中刪除文件,因爲它包含我的密碼。
2個星期前,我提交了我的應用程序的配置,其中有我的密碼,這不是很有用。 如何從提交歷史記錄中刪除文件並確保它不會被重新提交?Git - 刪除並排除配置文件
我想從所有提交樹中刪除文件,因爲它包含我的密碼。
可以
git rm myConfigFile
echo myConfigFile > .gitignore
git add .gitignore
git commit -m "from now on, no more myConfigFile"
另一個極端的做法(危險的,特別是如果你已經推你的回購到遠程的)將完全從上述回購的歷史記錄中刪除該文件:
git filter-branch --index-filter 'git update-index --remove myConfigFile' HEAD
(小心使用,並與先備份)
問題How do I remove sensitive files from git’s history對這個敏感話題有更多的瞭解。
在這個過程中的問題是雙重的:
git-rebase
manpage中的「RECOVERING FROM UPSTREAM REBASE
」下的說明進行操作。 。黃金,謝謝! 。 – IvRRimUm 2016-12-13 14:50:08
添加文件名到的.gitignore文件。
cp my-config config.tmp
git rm my-config
git commit -m 'removed config'
mv config.tmp my-config
echo my-config >> .gitignore
git add .gitignore
git commit -m 'ignore config'
究竟是你想做些什麼?你想恢復2周前發生的單一提交嗎? – BastiBen 2009-12-07 19:18:08