簡短的回答:未跟蹤文件中不包括的克隆。
如果您第一次刪除.hg元數據目錄並重新初始化一個新目錄,它將不再跟蹤任何文件;在init中沒有默認添加文件。所以當你克隆它的時候,你會得到一個空的倉庫的克隆。像這樣:
$ hg clone https://www.mercurial-scm.org/repo/hello my-hello
requesting all changes
adding changesets
adding manifests
adding file changes
added 2 changesets with 2 changes to 2 files
updating to branch default
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd my-hello
$ ls
Makefile hello.c
$ hg st --all
C Makefile
C hello.c
上面是沒有修改文件的完全正常的回購副本。
$ rm -rf .hg
$ hg st --all
abort: There is no Mercurial repository here (.hg not found)!
現在沒有回購了。
$ hg init
$ hg st --all
? Makefile
? hello.c
現在有一個,但它不再跟蹤文件,因此「?」。
$ hg clone . ../new-my-hello
updating to branch default
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd ../new-my-hello
$ hg st --all
$ ls
該克隆不包含未跟蹤文件,因此來自「my-hello」的兩個「?-files」未被克隆。
爲什麼要刪除克隆附帶的.hg文件夾?通過這樣做,你就失去了所有的版本庫歷史記錄,並且你的新回購(在你的`hg init`將與你在9.e中克隆它的回購不兼容),你將無法將更改推回去) – Matt 2011-01-09 22:13:33