ローカルリポジトリをGitHubにプッシュしました。コードをコミットする過程で、.gitignore
ファイルを作成するのを忘れていました。その結果、私はGitHub(または私のローカルリポジトリでは必要ありません)のいくつかのフォルダとファイルをコミットしてプッシュしました。後でgitignoreを適用するには?
.gitignore
はどのようにして適用できますか。不要なフォルダやファイルを削除するにはどうすればいいですか?
ローカルリポジトリをGitHubにプッシュしました。コードをコミットする過程で、.gitignore
ファイルを作成するのを忘れていました。その結果、私はGitHub(または私のローカルリポジトリでは必要ありません)のいくつかのフォルダとファイルをコミットしてプッシュしました。後でgitignoreを適用するには?
.gitignore
はどのようにして適用できますか。不要なフォルダやファイルを削除するにはどうすればいいですか?
あなたはgit rm <unnecessary file and folder names>
そのコミット前方からそれらを削除なる、あなたの.gitignore
ファイルに追加することができbinディレクトリを削除し、.gitignoreファイルを追加します。問題は、あなたが以前のコミットを変更しない限り、彼らが歴史に残るということです。これらのファイルに機密データがない場合は、履歴をそのまま残すといいでしょう。重要なデータをリポジトリ履歴から削除する必要がある場合は、GitHub's help article on the subject
メモリから削除する必要がありますし、再度追加します。 Git ignoreが有効になります。
これはあなたの秘密レポであり、あなたはまだそれを公開していない場合は、歴史を編集するfilter-branch
を使用します。
git filter-branch --index-filter '
git rm -r --cached --ignore-unmatched bin;
' --all
その後、ADD /あなた.gitignore
ファイルを編集:
>> .gitignore echo bin
git add .gitignore
git commit -m 'add gitignore files'
を
すでにあなたのhそれを書き直さないことがベストプラクティスです。ただ、
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- *'を実行するだけです。 'filter-branch'ルートを使うと、歴史の書き直しの意味を理解できることを確かめてください! – knittl