2
|
nonopolarity · 技术社区 · 14 年前 |
1
3
如果你这样做了
一旦提交了一个文件,任何涉及该文件的变更集移动到另一个存储库都将包括该文件的更改。如果您所要做的就是阻止签出远程存储库的提示,使其不包含该文件,那么您所描述的内容将起作用。如果没有,那么就没有保存历史的方法来完成您想要的事情,除了从不推动任何涉及到相关文件的变更集之外。您可以使用
|
2
1
您对“非常努力地工作”的衡量是有缺陷的——克隆一个千兆字节、数千个提交报告的工作对于任何现代硬盘都是微不足道的,更不用说您的了,特别是对于临时存储库,空间需求完全不相关。 最简单的方法是将repo复制到您要推送的修订版,推送该克隆,然后删除。虽然您正在寻找的解决方案可以节省磁盘的一些旋转,但它们远比它们的价值复杂得多。 Mozilla和python*都使用了mercurial,我向您保证,它们的回购协议比您要处理的要大得多,也要复杂得多。如果他们能毫无问题地使用它们,你当然也可以。尝试一下,不要对你使用的几个字节施加压力,这是值得的。 *python正在转换为mercurial 编辑 向阿德米特里克发表评论时,你误解了乔尔的观点。尽早提交,经常提交,不要害怕浪费提交,但这并不意味着每当你犯了一个错误时就应该退出——这将击败所有版本控制的要点。如果你做了一些你不喜欢的事情,修复它,然后再做一次。回滚是一项功能,因为它可能很有用,而不是因为您应该一直这样做。 |
3
0
我不知道如果您提交了更改,为什么您不想推送某些文件。 我会做另一个分支,然后重新平衡-我在Git的master上移除它们。当你准备好推送其他文件时,你可以在另一个分支上重新设置-i以选择这些文件,并在准备好时向master提交cherry pick。 |