从hg存储库中删除二进制文件

Nik*_*ntz 6 version-control mercurial binaryfiles

Mercurial是否可以删除具有certaain扩展名的所有文件?我做了一个addremove,然后我的所有二进制.pyc都被版本化了,现在我在版本控制时得到了这个限制:

tool kdiff3 can't handle binary
tool docdiff can't handle binary
 no tool found to merge bnano-www/wtforms/widgets.pyc
keep (l)ocal or take (o)ther? o
19 files updated, 67 files merged, 0 files removed, 0 files unresolved

C:\Users\developer\bnano\bnano-www>
Run Code Online (Sandbox Code Playgroud)

我真的不知道这意味着什么,除了我可以按o为其他人继续我的工作.现在我想清理我的存储库,最佳的是能够在没有添加二进制文件的情况下执行addremove,但我认为这是不可能的.

在这种情况下,您能给出一些建议吗?

谢谢

krt*_*tek 7

HgIgnore

首先,您可以向.hgignore文件添加一些规则,以告诉Mercurial您要忽略某些文件.然后,hg addremove不会自动添加它们,它们不会出现在hg status未跟踪的命令输出中(即).

删除文件

要删除文件,您可以使用hg remove myfile,例如,如果所有pyc文件都在同一目录中,则可以执行hg remove *.pyc然后提交更改.

如果您的文件分散在各种存储库中,那么hg remove -I *.pyc **/*应删除所有.pyc目录中的所有文件.

排除模式

仅供参考,最好在文件中添加不需要的.hgignore文件,也可以addremove通过执行操作来忽略某些文件hg addremove -X *.pyc.这将添加/删除除具有pyc扩展名的文件之外的所有文件.

您可以使用找到有关特定mercurial命令的帮助help.例如,hg help addremove.总的来说,一切都很整齐!

教程

为了更深入地探索各种Mercurial概念,我推荐这个优秀的教程:http://hginit.com

  • Holymoly hg删除-I*.pyc**/*不仅删除了.pyc,还删除了其他所有内容!谨防 (3认同)