我过去将一些错误的文件提交给git。之后,我排除并忽略了这些文件:
git rm --cached -r config.php
git reset config.php
echo "config.php" >> .gitignore
git update-index --assume-unchanged config.php
现在git commit很棒。config.php中的更改未提交。
但是:如果例如将工作目录存储起来以切换分支,则将从本地存储库还原config.php。
如何在git stash
不更改被忽略(和排除索引的文件)的情况下使用?
我在https://help.github.com/articles/remove-sensitive-data找到了一个解决方案:
git filter-branch --force --index-filter \
'git rm --cached --ignore-unmatch config.php' \
--prune-empty --tag-name-filter cat -- --all
可能有reset
必要将其从以后的提交中排除:
git reset config.php
从本地分支中删除config.php的所有信息后,我强行推动更新远程存储库:
git push origin master --force
现在,我的隐藏区域可以正常工作。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句