【问题标题】:Mercurial: How do I revert a subrepo file?Mercurial:如何恢复子存储库文件?
【发布时间】:2012-08-17 01:44:48
【问题描述】:

我有一个带有子 repo 的 mercurial repo(在本例中为 bootstrap)。

我修改了文件,然后手动修改回来,但 hg 仍然认为它已修改并且不允许我提交其他更改(我不想向 sup-repo 提交任何内容)。

dl@Debian6:~/company/company-production$ hg status -S
M company/cms/static/less/index.less ## I want this file
M company/cms/static/vendor/bootstrap/less/carousel.less ## I DONT want this file
M company/templates/v2/homepage/carousel.html  ## I want this file

你可以在上面看到状态认为它已修改。但是下面当我运行 diff carousel.less 时没有出现。这对我来说很奇怪。

dl@Debian6:~/company/company-production$ hg diff -S --stat
company/cms/static/less/index.less          |  13 +++++++++++--
company/templates/v2/homepage/carousel.html |  10 ++++------
2 files changed, 15 insertions(+), 8 deletions(-)

所以我尝试恢复 suprepo 文件。但它不让我。

dl@Debian6:~/company/company-production$ hg revert company/cms/static/vendor/bootstrap/less/carousel.less
company/cms/static/vendor/bootstrap/less/carousel.less: no such file in rev 57e22a1738af

如何恢复子存储库文件:carousel.less,以便提交更改?

【问题讨论】:

    标签: mercurial mercurial-subrepos


    【解决方案1】:

    切换到bootstrap 目录,这样你就子存储库中,然后运行:

    hg revert less/carousel.less
    

    (不过,hg diff -S --stat 没有显示更改很奇怪。)

    【讨论】:

    • 太棒了。那行得通。虽然我很愚蠢,但当我 cd 进入它时,我意识到 bootstrap 是一个 GIT 存储库而不是 HG 存储库。这可能就是我的恢复不起作用的原因。所以我 cd 进入,然后使用 git checkout -- 一切都很好:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-05-02
    • 2019-01-08
    • 2013-10-30
    • 2010-10-29
    • 1970-01-01
    • 2015-08-07
    • 1970-01-01
    相关资源
    最近更新 更多