我最初将我的项目提交到具有以下结构的hg
回购:
myapp/
fizz/
buzz.txt
foobar.cfg
whistlefeather/
vroom-vroom-party-starter.xml
我使用以下命令执行此操作:
hg add
hg commit -m "Initial commit."
hg push
然后我在本地更改了我的目录结构,如下所示:
myapp/
buzz/
fizz.txt
config.foobar
whistlefeather/
vroom-vroom-party-starter.xml
然后我运行了以下相同的命令:
hg add
hg commit -m "Changing some things."
hg push
当我去远程仓库时,我发现它有以下结构(?!?):
myapp/
fizz/
buzz.txt
buzz/
fizz.txt
foobar.cfg
config.foobar
whistlefeather/
vroom-vroom-party-starter.xml
我可以运行哪些命令来从远程仓库中推送/清除旧目录/文件(以便它反映我本地计算机上的目录结构)?
答案 0 :(得分:1)
您在第二次提交之前发出的hg add
命令实际上并未从版本控制下删除文件,而只是添加了新文件。现在,您的存储库实际上是旧文件和新文件的混合。
要添加新文件并删除缺少的文件,请使用hg addremove
命令或hg commit -A
答案 1 :(得分:0)
实际上很容易记住:
hg add
将文件添加到repo hg remove
删除文件hg move
移动或重命名文件hg addremove
查看当前正在运行的目录,并在回购中添加和删除文件,以便仅继续跟踪仍然存在的文件。这些操作中的每一个都可以按任何顺序完成。并且只有提交才会实际创建变更集