我推送我的本地存儲庫到GitHub。在提交我的代碼的過程中,我忘了創建一個.gitignore
文件。因此,我已經提交併隨後推送了一些我不想在GitHub上(或者在我的本地存儲庫中)的文件夾和文件。以後如何申請gitignore?
我現在可以如何申請.gitignore
,以便我可以刪除一些不受歡迎的文件夾和文件?
我推送我的本地存儲庫到GitHub。在提交我的代碼的過程中,我忘了創建一個.gitignore
文件。因此,我已經提交併隨後推送了一些我不想在GitHub上(或者在我的本地存儲庫中)的文件夾和文件。以後如何申請gitignore?
我現在可以如何申請.gitignore
,以便我可以刪除一些不受歡迎的文件夾和文件?
可以git rm <unnecessary file and folder names>
然後將它們添加到您的.gitignore
文件,該文件會從提交前刪除它們。問題在於,除非您更改早期提交,否則它們將保留在歷史記錄中。如果這些文件中沒有敏感數據,我會說現在就保留歷史記錄。如果您需要從存儲庫歷史記錄中刪除敏感數據,請參閱GitHub's help article on the subject
從內存中你必須刪除它並重新添加它。然後忽略Git會生效。
如果這是你的私人回購和你沒有它尚未公佈,使用filter-branch
編輯歷史:
git filter-branch --index-filter '
git rm -r --cached --ignore-unmatched bin;
' --all
然後,添加/編輯.gitignore
文件:
>> .gitignore echo bin
git add .gitignore
git commit -m 'add gitignore files'
既然您已經發布了您的h這是最好的做法,不要重寫它。只是刪除bin目錄,並添加.gitignore文件以
git rm -r bin
# add .gitignore
git commit -m 'remove and ignore bin folder'
首先,刪除bin
目錄中偶然添加到回購站。你可以參考這裏: http://help.github.com/remove-sensitive-data/
然後添加.gitignore
並提交,然後推送到github。
是一種使用gitignore自動刪除所有文件夾/文件的方法?我是否真的必須爲每個要刪除的文件/文件夾執行命令? – Rookian
你可以簡單地做'git rm -r --cached --ignore-unmatched file1 folder1 file2 folder2 folder3 * bak test- *'。只要確定,你明白歷史重寫的含義,如果你走「過濾分支」路線! – knittl