伙计们,我需要你的帮助!
我第一次尝试将我的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
答案 0 :(得分:10)
你的档案没有消失。 Mercurial不会丢弃数据,这是系统的第一个规则之一。
为了解释hg remove
对您的文件做了什么,让我们一个一个地看一下这些案例。工作副本中的文件可以是少数几种状态中的一种:可以修改,添加,删除,丢失,未知,忽略或清除。
我准备了一份看起来像这样的工作副本:
$ hg status --all
M a
A b
R c
! d
? e
I f
C g
a
到g
的文件属于我上面提到的七种状态。我们现在可以讨论当您尝试删除这些文件时会发生什么:
未删除已修改文件(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
的内容与删除之前的内容相同。
答案 1 :(得分:1)