无意中,我已将.pyc文件推送到主存储库。现在我想删除它们,但我不能这样做。有没有办法直接从Bitbucket网站上删除它们?
答案 0 :(得分:105)
.pyc
删除 git rm *.pyc
个文件。如果这不起作用,请使用git rm -f *.pyc
git commit -a -m 'all pyc files removed'
git push
.pyc
文件.gitignore
个文件
醇>
答案 1 :(得分:15)
不,你不能直接从BitBucket界面删除它们,但你可以删除它们在本地结账和find ./ -type f -name '*.pyc' -exec git rm {} \;
(或者只是逐个git rm每个pyc文件)。然后提交/推送您的更改。
最后,为了避免再犯同样的错误,您可以在回购的根目录下创建一个文件,并将其命名为“.gitignore”,内容为:
*.pyc
*~
*.swp
*〜和〜.swp是其他常被遗忘的文件类型,经常被意外推送。请参阅gitignore https://help.github.com/articles/ignoring-files上的github文档(以及他们对.gitignore文件的回购以获得一些不错的默认值)。
答案 2 :(得分:10)
git rm *.pyc --cached
git commmit -a -m'remove pyc from index'
git push
PS:我看到问题的日期,但这个解决方案看起来更好,imho。可能是它会帮助某人......
答案 3 :(得分:7)
你为我工作,
find . -name '*.pyc' | xargs -n 1 git rm --cached
答案 4 :(得分:3)
我使用了simeg的解决方案,但也希望删除大量错误添加到分支的* .pyc文件。我使用awk以递归方式从缓存中删除它们。
git status | awk '{if($1=="modified:" && $2!=".gitignore") ; system("git rm --cached "$2)}'
然后,我从本地删除了文件
find . -name *.pyc -delete
答案 5 :(得分:3)
要删除所有.pyc
个文件,请使用git rm -rf *.pyc
然后将*.py[co]
添加到 .gitignore 文件中。 (这将阻止.pyc和.pyo文件在将来的提交中被提交)
答案 6 :(得分:1)
因为在默认的Bitbucket中,repo中没有.gitignore文件,所以你可以这样做:
答案 7 :(得分:1)
转到项目的PyDev Package Explorer并执行:
右键单击 + Pydev / 删除* .pyc * .pyo和* $ py.class文件
将弹出一个窗口,告诉您已删除了多少文件。
可选:将您的更改提交给团队/服务器:
在提交窗口中,当我们删除它们时,您不应该看到任何可用的.pyc。 此外,如果你之前提交了这样的文件,你应该能够提交他们的"删除"现在。
===>您的本地和服务器存储库现在没有* .pyc * .pyo和* $ py.class File :)
答案 8 :(得分:0)
一个有趣的单行:
git status | grep pyc | sed -e 's/ new file: //g' | xargs -I {} git rm --cached {}
答案 9 :(得分:0)
另一个有趣的删除所有pyc文件的衬垫。
找到。 -name' * .pyc' -exec git rm {} \; 不要忘记按照其他答案中的步骤提交并添加gitignore。