伙计们,我需要你的帮助!
我试图第一次将我的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
这是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
Martin Geisl.. 10
你的文件没有消失.Mercurial不会丢弃数据,这是系统的第一个规则之一.
为了解释hg remove
你的文件做了什么,让我们一个一个地看一下这些案例.工作副本中的文件可以处于少数几种状态中的一种:可以修改,添加,删除,丢失,未知,忽略或清除.
我准备了一份看起来像这样的工作副本:
$ hg status --all M a A b R c ! d ? e I f C g
该文件a
以g
在我上面提到的7个州.我们现在可以讨论当您尝试删除这些文件时会发生什么:
甲改性文件(a
)不被去除:
$ hg remove a not removing a: file is modified (use -f to force removal)
一个补充文件(b
)也不会被删除:
$ hg remove b not removing b: file has been marked for add (use forget to undo)
一个删除文件(c
)不再存在于工作副本,所以没有什么更多的情况.
一个丢失的文件(d
)不再存在于工作副本,所以没有什么更多的情况.
一个未跟踪文件(e
)不会被删除:
$ hg remove e not removing e: file is untracked
一个被忽略的文件(f
)不会被删除(因为它不跟踪):
$ hg remove f not removing f: file is untracked
一个干净的文件(g
)被删除.
hg remove
实际从工作副本中删除的唯一文件类型是一个干净的文件.已提交干净文件,因此内容安全地存储在存储库中.您可以通过以下方式获取hg revert
:
$ hg revert g $ hg status --all M a A b R c ! d ? e I f C g
该文件g
返回的内容与删除之前的内容相同.
你的文件没有消失.Mercurial不会丢弃数据,这是系统的第一个规则之一.
为了解释hg remove
你的文件做了什么,让我们一个一个地看一下这些案例.工作副本中的文件可以处于少数几种状态中的一种:可以修改,添加,删除,丢失,未知,忽略或清除.
我准备了一份看起来像这样的工作副本:
$ hg status --all M a A b R c ! d ? e I f C g
该文件a
以g
在我上面提到的7个州.我们现在可以讨论当您尝试删除这些文件时会发生什么:
甲改性文件(a
)不被去除:
$ hg remove a not removing a: file is modified (use -f to force removal)
一个补充文件(b
)也不会被删除:
$ hg remove b not removing b: file has been marked for add (use forget to undo)
一个删除文件(c
)不再存在于工作副本,所以没有什么更多的情况.
一个丢失的文件(d
)不再存在于工作副本,所以没有什么更多的情况.
一个未跟踪文件(e
)不会被删除:
$ hg remove e not removing e: file is untracked
一个被忽略的文件(f
)不会被删除(因为它不跟踪):
$ hg remove f not removing f: file is untracked
一个干净的文件(g
)被删除.
hg remove
实际从工作副本中删除的唯一文件类型是一个干净的文件.已提交干净文件,因此内容安全地存储在存储库中.您可以通过以下方式获取hg revert
:
$ hg revert g $ hg status --all M a A b R c ! d ? e I f C g
该文件g
返回的内容与删除之前的内容相同.