2016-08-27 2 views
4

私のプロジェクトでコンパイルされたバイナリなどのファイルを無視するために.gitignoreを使わなかったので、コンパイルされたバイナリはGitリポジトリにコミットされました。そして今、私のプロジェクトに.gitignoreを追加します。 gitignoreにリストされているファイルを無視して履歴を失うことなく、Gitリポジトリ全体を再構築したい。どうやってやるの?現在の.gitignoreを使用してGitを再ビルドする

+0

マシン上のファイルを削除する.gitnoreを使わずにプッシュし、gitnoreを追加してプッシュしてください:) – Randy

+0

コンパイルされたバイナリはまだGitの履歴にあります – zzh1996

答えて

2

追加されたばかりのバイナリを現在のキャッシュから削除します。

git rm --cached abinary 

あなたの.gitignoreは自動的にこれらのバイナリを無視します。

しかし、過去のコミットでコミットされた場合、履歴は失われませんが、それらのバイナリをコミットから削除する必要があります。
git filter-branchまたはbfg repo cleanerが必要です。

これはあなたの履歴を書き換え、git push --forceが必要なので、複数の(あなた自身の)協力者がいる場合は、事前に警告してください。

関連する問題