2周前,我提交了我的应用程序的配置,它有我的密码,它不是很有用。如何从提交历史记录中删除该文件并确保它不会被重新提交?
我想从所有提交树中删除该文件,因为它包含我的密码。
2周前,我提交了我的应用程序的配置,它有我的密码,它不是很有用。如何从提交历史记录中删除该文件并确保它不会被重新提交?
我想从所有提交树中删除该文件,因为它包含我的密码。
你可以
git rm myConfigFile
echo myConfigFile > .gitignore
git add .gitignore
git commit -m "from now on, no more myConfigFile"
另一种极端的方法(特别危险,特别是如果你已经将你的 repo 推送到一个远程的)是从所述 repo 的历史记录中完全删除该文件:
git filter-branch --index-filter 'git update-index --remove myConfigFile' HEAD
(小心使用,并先备份)
问题如何从 git 的历史记录中删除敏感文件有更多关于该敏感主题的内容。
这个过程的问题是双重的:
RECOVERING FROM UPSTREAM REBASE
中“ ”下的说明进行操作。
在这两种情况下,您的机密信息都不会被“悄悄地”替换或删除……git-rebase
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'
使用忽略:http: //github.com/guides/ignore-for-git
将文件名添加到 .gitignore 文件。