2017-02-07 20 views
1

私はこの質問が以前に尋ねられたことを知っていますが、私は取る必要がある正確な手順についてまだ混乱しています。githubと履歴からファイルを削除してください

数ヶ月前、githubの公開リポジトリ(自分が所有する)に機密情報を含むファイルをコミットしました。私は今、このファイルをトレースとともに削除しなければなりません。

具体的には、dbの詳細を含むweb.configファイルです。私は接続文字列を削除する必要がありますが、私はファイル全体を削除し、必要に応じてそれを追加して満足しています。

以来、多くのコミットがありました。

は私が仕事のための適切なツールのように聞こえる BFGを見て、これは働いていない - おそらく私がミスを犯しました。

ステップ:

git clone --mirror git://example.com/my-repo.git 
bfg-1.12.15.jar --delete-files web.config my-repo.git 
cd my-repo.git 
git reflog expire --expire=now --all && git gc --prune=now --aggressive 

git push 

出力:まさに私はリポジトリからこのweb.configファイルを削除するために必要何

Counting objects: 1064, done. 
Delta compression using up to 8 threads. 
Compressing objects: 100% (1058/1058), done. 
Writing objects: 100% (1064/1064), done. 
Total 1064 (delta 775), reused 289 (delta 0) 

Everything up-to-date 

ファイルが解決しませんか、?

更新、それはその後、web.configファイルを削除し、ことが示唆されたので、コマンドを再実行して[OK]を

rm web.config 
git commit -am "removed web config" 
git push 

をしてから、私は上記のすべてのコマンドを再実行し、私は取得:

Using repo : xxx.git 

Found 246 objects to protect 
Found 2 commit-pointing refs : HEAD, refs/heads/master 

Protected commits 
----------------- 

These are your protected commits, and so their contents will NOT be altered: 

* commit 1f4ad898 (protected by 'HEAD') 

Cleaning 
-------- 

Found 114 commits 
Cleaning commits:  100% (114/114) 
Cleaning commits completed in 93 ms. 

BFG aborting: No refs to update - no dirty commits found?? 

アップデート2

BFGが正常に動作していると私は誤って実際のWeb.configweb.config小文字を入力していませんでしたが判明。とにかくそれはディレクトリに:)

+0

これはタイプミスですか、それともあなたのシェルのコマンドであるかのようにbfg jar自体を実行しようとしていますか?それは 'java -jar path/to/bfg.jar ...'ではありませんか? –

+0

@MarkAdelsberger typo、updated – boywonder

+0

'web.config'はリポジトリのルートまたはサブディレクトリにありますか? 'bfg'に与えるパスにサブディレクトリを含める必要があるかもしれません。 – jwodder

答えて

1

手順は、BFGツールを使用する正しい方法のようです彼らの文書に基づいて)。

はBFGレポクリーナーのみリポジトリの歴史に影響を与え、最新のは、あなたのコミット履歴にコミット触れていないことに注意してください。つまり、ブランチの先端を最初にクリーンアップし、その後にBFGツールを実行する必要があります。

現在のステータスに応じて、まずgit rm web.configを使用して現在の状態をクリーンアップし、変更をコミットしてすべてを押し上げ、BFGを実行して履歴を消去します。

+0

BFGを使う前に 'git rm'で新しいコミットのファイルを削除しました –

0

CDを私の問題をソートしていると、

git rm web.config 

LSは、 "web.configファイルが"

git status 

を削除された場合は、プルする必要があるかもしれませんチェックしますレポからの更新