如果你犯了文件在過去,你將需要從緩存中刪除它嘗試
git rm --cached codeception.yml
即使你添加一個文件/目錄到.gitignore
文件,如果它已經被添加到回購在過去,git會記住它。
它具有跨機器不同的數據庫憑證。
如果您意外提交了敏感數據,您可能需要按照建議Github give here。
更新
爲了防止腐爛鏈接這裏是從回購刪除安全數據從上面的鏈接彙總說明。如果您願意,還可以通過使用BFG Repo-Cleaner軟件包獲得更簡單的版本。
- 在終端
cd
到當地克隆的問題。
運行如下(請注意這將覆蓋現有的標記!):
git filter-branch --force --index-filter \
'git rm --cached --ignore-unmatch codeception.yml' \
--prune-empty --tag-name-filter cat -- --all
- 的
codeception.yml
文件添加到您.gitignore
和承諾。
- 檢查您的回購
git push origin --force --all
- 的狀態。如果您需要從標籤中刪除敏感數據後,您還需要運行
git push origin --force --tags
- 告訴你的合作者衍合,而不是合併。合併將重新引入這些文件。
經過一段時間,你確信git filter-branch沒有意想不到的副作用,你可以用下面的命令強制取消本地資源庫中的所有對象並進行垃圾收集(使用Git 1.8.5或更新):
git for-each-ref --format='delete %(refname)' refs/original | git update-ref --stdin
然後
git reflog expire --expire=now --all
然後
git gc --prune=now
您是否已經將該文件提交給過去? – DavidT
噢,是的,我想我必須以某種方式刪除它。 – Rohan