19.5 里程碑和远程版本库
远程版本库中的里程碑同步到本地版本库,会使用同样的名称,而不会像分支那样移动到另外的命名空间(远程分支)中,这可能会给本地版本库中的里程碑带来混乱。当和多个远程版本库交互时,这个问题就更为严重。
前面的Git里程碑一章已经介绍了当执行git push命令推送时,默认不会将本地创建的里程碑带入远程版本库,这样可以避免远程版本库上里程碑的泛滥。但是执行git fetch命令从远程版本库获取分支的最新提交时,如果获取的提交上建有里程碑,这些里程碑会被获取到本地版本库。当删除注册的远程版本库时,远程分支会被删除,但是该远程版本库引入的里程碑不会被删除,日积月累本地版本库中的里程碑可能会变得愈加混乱。
可以在执行git fetch命令的时候,设置不获取里程碑只获取分支及提交。通过提供-n或—no-tags参数可以实现。示例如下:
$git fetch—no-tags file:///path/to/repos/hello-world.git\
refs/heads/:refs/remotes/hello-world/
在注册远程版本库的时候,也可以使用—no-tags参数,避免将远程版本库的里程碑引入本地版本库。例如:
$git remote add—no-tags hell-world\
file:///path/to/repos/hello-world.git