使用git-svn,我该如何提交标签(dcommit tags)?

14

我使用Git在本地保存项目历史记录,然后被要求将整个git项目提交到远程的空svn项目文件夹中(通常是主干、标签和分支结构),我能够成功提交到主干,但似乎没有提交标签。是否有一种方法可以通过单个命令提交标签?

附言:我正在使用TortoiseGit,但命令行也可以。

1个回答

18

Git 和 SVN 对待标签的方式不同。在 Git 中,标签是一个强大的功能,而在 SVN 中,它只是一个文件夹,就像分支一样。

因此,要从 git-svn 创建标签,你需要在 git-svn 存储库中创建一个分支(标签)。Git 标签将无法进行 "dcommit"。

你可以使用 git svn branch --tag 或其简写 git svn tag 来创建标签,然后再将它们 dcommit。

相关问题的详细答案: Git-svn:如何创建和推送新的分支 / 标签?


谢谢你的回答。听起来我需要在本地项目中检出git标签,然后使用你上面提供的答案创建一个远程分支,最后进行dcommit,是吗?有点不幸的是,它必须这么复杂,但是与SVN相比,Git确实有点复杂。 - Japtar
@japtar - 嗯,Git并不复杂,但你需要与两个完全不同的系统进行交互。但是没错,Git确实有一个陡峭的学习曲线。 - manojlds
我并不是想对Git做出任何讽刺的评论,但如果听起来是这样的话,我道歉。实际上,我很喜欢它。它非常方便。 - Japtar
@Japtar - 我是一个经常使用 SVN 和 Git 的用户,我喜欢它们两个。SVN 有它的优点,Git 也有它的优点。只是当这两种版本控制系统差异很大时,你不能指望 git-svn 不会变得复杂。 - manojlds

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接