我最初将项目提交给具有以下结构的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我可以运行哪些命令来从远程repo中推送/清除旧目录/文件(并使其反映本地计算机上的目录结构)?
发布于 2015-09-22 16:19:12
您在第二次提交之前发出的hg add命令实际上并没有从版本控制下删除文件,而是添加了新的文件。现在,您的存储库实际上是新旧文件的混合体。
若要添加新文件并删除丢失的文件,请使用hg addremove命令或hg commit -A
发布于 2015-09-22 21:59:08
其实很容易记住:
hg add将文件添加到回购程序中hg remove删除文件hg move移动或重命名文件hg addremove查看当前的工作dir,并从repo中添加和删除文件,这样只有仍然存在的文件才会继续被跟踪。这些操作中的每一个都可以按任何顺序执行。而只有提交才能真正创建一个变更集。
https://stackoverflow.com/questions/32721773
复制相似问题