2013-04-24 80 views
0

在最近的一次提交中,我不小心将包含对生产服务器密码和敏感信息的设置文件的更改包括在内。我将更改推送到私有存储库,但也有一个公共存储库。我想推动对公共回购的更改,但是如何避免包含该特定文件中的更改被包含在内?它已经在提交中。mercurial忘记修改更改为特定文件

+0

推送前重写历史记录? – 2013-04-24 06:10:45

回答

0

我推更改私人仓库

你的意思是你犯了本地更改集,或者你把它推到,只有你有机会到另一个回购?你真的跑hg push

但也有一个公共存储库。

变更集是否已将其公开回购?

基本上,如果变更集是公开的,它就不存在了。它超出了你的控制范围。更改服务器上的凭据。

如果变更集仍然是私人的,你可能会很幸运。如果它是本地的,那么你可以使用hg strip删除变更集,但要警告它也会删除任何后代。如果它是通往任何其他回购的途径,那么你也需要从这些回收中剥离它。如果变更集存在于任何地方,那么当你从他们那里得到pull时它会回来。

无论如何,现在可能只是为了确定而更改服务器上的凭据。

0

如果只有提交(您.hg库),但不到默认的中央存储库,那么你可以使用hg rollback将“撤消”你的承诺。然后你可以修改:忘记文件,修改,更改日志消息等,然后再次提交并最终推送。