hg删除*删除了我的文件!我该如何取回它们?

use*_*965 1 mercurial bitbucket

伙计们,我需要你的帮助!

我试图第一次将我的hg存储库推送到bitbucket.它不起作用,我认为这是因为该项目是巨大的.因此,我只想推送一个文件.因为之前我做过"hg add*",我想撤销这个,然后键入"hg remove*",现在它删除了我的计算机上的文件.但不是全部,只有一些......

我需要这些文件,我该怎么办?请告诉我他们没有走了,请拜托.

非常感谢你的帮助!!

这是我的命令历史:

  518  hg commit commit_test.txt -m "first commit"
  519  hg add commit_test.txt
  520  hg commit -m "test"
  521  ls -ll
  522  ls -la
  523  cd .hg/ 
  524  ls
  525  ls -la
  526  pico hgrc
  527  cd ..
  528  hg status
  529  hg add commit_test.txt~ 


  530  hg add commit_test.txt
  531  hg commit -m "blabla"
  532  hg push
  533  hg add commit_test.txt
  534  hg commit -m "maaan"
  535  hg status
  536  hg remove *
  537  hg status
  538  hg commit -m "bla"
  539  ls
  540  hg add test.txt 
  541  hg commit -m "test"
  542  hg push
  543  hg revert
  544  hg revert --all
  545  history
  546  hg add *
  547  hg add -r *
  548  hg help add
  549  hg add -S *
  550  cd gui_relabel/
  551  hg add *
  552  cd images/
  553  hg add *
  554  cd ..
  555  hg revert all
  556  hg revert *
  557  history
Run Code Online (Sandbox Code Playgroud)

这是hg日志给我的:

$ hg log

  changeset:   6:4726f671ae96
  tag:         tip
  user:        KG <...@gmail.com>
  date:        Wed Dec 04 12:21:30 2013 +0100
  summary:     test

  changeset:   5:55b3158def38
  user:        KG <...@gmail.com>
  date:        Wed Dec 04 12:17:19 2013 +0100
  summary:     bla

  changeset:   4:ae0dd836586d
  user:        KG <...@gmail.com>
  date:        Wed Dec 04 12:14:50 2013 +0100
  summary:     blabla

  changeset:   3:0249fdc26fa7
  user:        KG <...@gmail.com>
  date:        Wed Dec 04 12:13:59 2013 +0100
  summary:     test

  changeset:   2:40bdcf4d2104
  user:        KG <...@gmail.com>
  date:        Wed Dec 04 12:12:37 2013 +0100
  summary:     first commit test

  changeset:   1:f9e20020ca1d
  user:        KG <...@gmail.com>
  date:        Sun Nov 10 14:54:46 2013 +0100
  summary:     first commit

  changeset:   0:7a8edcee06ff
  user:        KG <...@gmail.com>
  date:        Mon Nov 04 20:36:41 2013 +0100
  summary:     blabla
Run Code Online (Sandbox Code Playgroud)

Mar*_*ler 10

你的文件没有消失.Mercurial不会丢弃数据,这是系统的第一个规则之一.

为了解释hg remove你的文件做了什么,让我们一个一个地看一下这些案例.工作副本中的文件可以处于少数几种状态中的一种:可以修改,添加,删除,丢失,未知,忽略或清除.

我准备了一份看起来像这样的工作副本:

$ hg status --all
M a
A b
R c
! d
? e
I f
C g
Run Code Online (Sandbox Code Playgroud)

该文件ag在我上面提到的7个州.我们现在可以讨论当您尝试删除这些文件时会发生什么:

hg remove实际从工作副本中删除的唯一文件类型是一个干净的文件.已提交干净文件,因此内容安全地存储在存储库中.您可以通过以下方式获取hg revert:

$ hg revert g
$ hg status --all
M a
A b
R c
! d
? e
I f
C g
Run Code Online (Sandbox Code Playgroud)

该文件g返回的内容与删除之前的内容相同.