web-dev-qa-db-ja.com

Gitリモートリポジトリから.pycファイルを削除する

偶然、.pycファイルをマスターリポジトリにプッシュしました。今、それらを削除したいのですが、できません。 Bitbucketサイトから直接それらを削除する方法はありますか?

47
ePascoal
  1. 削除.pycを使用するgit rm *.pycファイル。これが機能しない場合は、git rm -f *.pycを使用します
  2. コミットgit commit -a -m 'all pyc files removed'
  3. プッシュgit Push
  4. 今後のコミットでは、.pycファイルを作成して、.gitignoreファイルを無視できます。
112
Falcoa

いいえ、BitBucketインターフェースから直接削除することはできませんが、canローカルチェックアウトおよびfind ./ -type f -name '*.pyc' -exec git rm {} \;(または単に各pycファイルを1つずつgit rm)。次に、変更をコミット/プッシュします。

最後に、同じ間違いを二度としないように、リポジトリのルートにファイルを作成し、その内容を「.gitignore」と名付けます。

*.pyc
*~
*.swp

*〜および〜.swpは、他の一般的に忘れられているファイルタイプで、しばしば誤ってプッシュされます。 gitignoreのgithubドキュメントを参照してください https://help.github.com/articles/ignoring-files (およびいくつかのNiceのデフォルトについては、.gitignoreファイルのリポジトリ).

16
smassey
git rm *.pyc --cached
git commmit -a -m'remove pyc from index'
git Push

PS:私は質問の日付を見ますが、この解決策はより良く見えます、私見。誰かを助けるかもしれない.。

12

Thieは私のために働いた、

find . -name '*.pyc' | xargs -n 1 git rm --cached
7
Adel

Simegのソリューションを使用しましたが、誤ってブランチに追加された* .pycファイルを大量に削除したかったのです。 awkを使用して、キャッシュから再帰的に削除しました。

git status | awk '{if($1=="modified:" && $2!=".gitignore") ; system("git rm --cached "$2)}'

次に、ローカルからファイルを削除しました

find . -name *.pyc -delete
4
Angel Alvarado

すべての.pycファイルを削除するには、git rm -rf *.pycを使用します

次に、*.py[co]。gitignoreファイルに追加します。 (これにより、将来のコミットで.pycおよび.pyoファイルがコミットされなくなります)

3
Rao

PyDev for Eclipseを使用した簡単な方法。

プロジェクトのPyDevパッケージエクスプローラーに移動して、以下を実行します。


  • 右クリック + Pydev/*。pyc * .pyoおよび* $ py.classファイルを削除

    削除されたファイルの数を示すウィンドウがポップアップ表示されます。

オプション:変更をチーム/サーバーにコミットします。

  • 右クリック + チーム/コミット

コミットウィンドウには、削除したため追加できる.pycが表示されないはずです。また、そのようなファイルを以前にコミットした場合は、今すぐ「削除」をコミットできるはずです。

===>ローカルおよびサーバーのリポジトリに* .pyc * .pyoおよび* $ py.class Fileがなくなりました:)

1
Aton Lerin

デフォルトのBitbucketでは、レポジトリに.gitignoreファイルがないため、次のことができます。

  1. ローカルの.gitignore(プッシュしないでください)を作成し、*。pycを行として追加できます。
  2. githubリポジトリで.gitignoreをコピーし、このファイルの行として* .pycを追加できます!プッシュすることも、ローカルリポジトリに保存することもできます。
1
慕冬亮

すべてのpycファイルを削除する楽しみのための別のライナー。

見つける。 -name '* .pyc' -exec git rm {} \;

他の回答の手順に従って、gitignoreをコミットして追加することを忘れないでください。

0
3white

楽しみのためのワンライナー:

git status | grep pyc | sed -e 's/ new file: //g' | xargs -I {} git rm --cached {}

0
Monkpit