Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
git标签–;是否也将本地标记用于远程?_Git - Fatal编程技术网

git标签–;是否也将本地标记用于远程?

git标签–;是否也将本地标记用于远程?,git,Git,我试图让自己明白用git标记的意义。据了解,标签用于标记开发中的某些点 我不明白的是——就我对文档的理解而言——对于同一版本或远程版本和本地版本,可以有完全不同的标签 比如说,我正在提交我的版本,并将其标记为 git标签v0.0.1主控 在当地 现在我要将本地提交推送到远程回购。因为我可能只是有一个糟糕的一天,我弄乱了我的远程标签与打字错误一样 git推送原始主机v0x.0.3 几次提交之后,由于输入错误,我再也找不到我的远程提交v0.0.1了 我没有办法告诉git也在远程回购上使用本地使用的标

我试图让自己明白用git标记的意义。据了解,标签用于标记开发中的某些点

我不明白的是——就我对文档的理解而言——对于同一版本或远程版本和本地版本,可以有完全不同的标签

比如说,我正在提交我的版本,并将其标记为

git标签v0.0.1主控

在当地

现在我要将本地提交推送到远程回购。因为我可能只是有一个糟糕的一天,我弄乱了我的远程标签与打字错误一样

git推送原始主机v0x.0.3

几次提交之后,由于输入错误,我再也找不到我的远程提交v0.0.1了


我没有办法告诉git也在远程回购上使用本地使用的标记吗?

听起来你好像在说,当你推送时,你认为它会在
master
创建一个新的远程标记,名称与你的本地标记不同。那是不对的

如果名为
v0x.0.3
的引用存在,它将按原样推送(不一定指向
master
)。如果没有-这很可能是在您建议的命令示例所建议的随机脂肪指进的情况下-它将导致
push
命令出错,并显示一条消息,说明它不知道
v0x.0.3
是什么

现在,您确实可以在提交上创建本地标记,而不依赖于远程设备指向该提交的任何标记。因此,您可以将任意数量的本地标记都指向同一个提交,其中任意数量的标记可能与远程用户共享,也可能未与远程用户共享

如果你真的想在遥控器上创建一个不同名称的标签,你可以;但我一秒钟也不相信你会意外地这么做

git push origin local_tag_name:remote_tag_name
(因为local_tag_name是一个标记,所以git会推断您希望remote_tag_name也是一个标记,但您必须特意更改名称);或

(您明确表示要在远程设备上创建新标记)

在一些用例中,您可能希望这样做。在几乎所有的情况下,git都提供了做任何你想做的事情的灵活性,然后提供了eas(ier)——使用命令来做大多数人大部分时间都想做的事情。因此,您可以在远程设备上创建不同的标记名的观察是正确的;但这并不意味着你必须,或者应该,或者会被意外地欺骗去这么做

将此与git概念结合起来:虽然您似乎认为标记是提交的属性,但事实并非如此。它是它自己的东西(恰好指提交[1]);在任何回购协议中,这一点可能存在,也可能不存在。如果它存在于本地,您可以(但不必)将其推送到远程;如果它存在于远程服务器中,您可以(但不必)将其获取到本地服务器



[1] 实际上,一个标记恰好引用了某个对象,通常是一个提交,但也可能是其他对象,例如,一个特定的文件。听起来好像你在说,当你推送时,你认为它将在
创建一个新的远程标记,其名称与你的本地标记不同。那是不对的

如果名为
v0x.0.3
的引用存在,它将按原样推送(不一定指向
master
)。如果没有-这很可能是在您建议的命令示例所建议的随机脂肪指进的情况下-它将导致
push
命令出错,并显示一条消息,说明它不知道
v0x.0.3
是什么

现在,您确实可以在提交上创建本地标记,而不依赖于远程设备指向该提交的任何标记。因此,您可以将任意数量的本地标记都指向同一个提交,其中任意数量的标记可能与远程用户共享,也可能未与远程用户共享

如果你真的想在遥控器上创建一个不同名称的标签,你可以;但我一秒钟也不相信你会意外地这么做

git push origin local_tag_name:remote_tag_name
(因为local_tag_name是一个标记,所以git会推断您希望remote_tag_name也是一个标记,但您必须特意更改名称);或

(您明确表示要在远程设备上创建新标记)

在一些用例中,您可能希望这样做。在几乎所有的情况下,git都提供了做任何你想做的事情的灵活性,然后提供了eas(ier)——使用命令来做大多数人大部分时间都想做的事情。因此,您可以在远程设备上创建不同的标记名的观察是正确的;但这并不意味着你必须,或者应该,或者会被意外地欺骗去这么做

将此与git概念结合起来:虽然您似乎认为标记是提交的属性,但事实并非如此。它是它自己的东西(恰好指提交[1]);在任何回购协议中,这一点可能存在,也可能不存在。如果它存在于本地,您可以(但不必)将其推送到远程;如果它存在于远程服务器中,您可以(但不必)将其获取到本地服务器



[1] 实际上,一个标记碰巧引用了某个对象,通常是一个提交,但也可能是其他对象,例如一个特定的文件

git push--tags
?根据我的理解,这也是不推荐的。不管怎样,我只需要一次提交一个本地标签。由谁提交?为什么(他们的理由适用于你的情况)?例如,在这里(评论部分)所以
--跟随标签
,然后
git push--标签
?根据我的理解,这也是不推荐的。不管怎样,我只需要一次提交一个本地标签。由谁提交?为什么(他们的理由适用于你的情况)?例如,这里(评论部分)所以
--跟随标签,然后