如何在git gui中使用标签进行版本控制

23

我是一个彻头彻尾的新手,请温柔点!

我正在使用git gui,从不接触命令行界面。我是个新手,而我跟一些人合作的甚至更是新手...

当前状态: - 我在github上有一个存储库,其中包含一些脚本(以下简称“代码”) - 我正在使用git gui(mysysgit) - 我已经做出了提交和推送,并对CVS有了模糊的理解 - 我认为我们不需要分支

我感觉应该能够使用标签来创建代码版本。我也“感觉”文件系统中应该有一个类似的结构,其中存储快照(或链接到快照...)。

例如:
.\EdsLittleThing\v1.0
.\EdsLittleThing\v1.1
.\EdsLittleThing\v1.2
等等

然而,我无法弄清楚如何在git gui中创建标签。我能找到的唯一标签参考似乎与合并分支相关,这对我没有帮助。

我已经搜索了网上,但找不到任何关于如何使用Git Gui创建和管理版本的参考资料。

我想能够创建一个稍微简单一些的版本如下图所示: branch and tag structure

最后说明:虽然我相信我的答案可以在“标签”中找到,但我并不介意是否真正通过使用修订版本/分支/任何其他方式来回答。

5个回答

20
您想使用gitk,在“存储库”->“可视化...”下找到。

在顶部窗格中,右键单击您要打标记的提交,并选择创建标记。

在git模型中,通常不会将标记检出到与同一存储库相同的磁盘下。您可以拥有多个存储库(全部从上游克隆),或者不建议使用具有一个修订版本的不同修订版本的多个工作目录,但大多数时候仅使用git的工具就足以摆脱同时检出多个版本的需要。

您提出的建议与gitflow模型没有任何相似之处,因此我不建议将其用作参考。请阅读ProGit书籍,http://progit.org了解良好建议和其他工作流程。我使用的是其中的一个,与上述不同。

通常,您会在重要的里程碑上打标记。当代码变得对客户可见,或者我们准备将代码移动到正式的QA实践时,我会打标记。通常不需要标记提醒事情发生的时间。这就是提交消息的作用。


10

感谢大家的帮助。

我成功使用上面描述的方法添加了标签。

你需要使用gitk,通过 Repository->Visualize…

在顶部窗格中,右键单击所需标记的提交,并选择 创建标签。

然后我遇到了一个问题,我的标签没有被包含在推送中。因此,我添加的任何标签都只能本地存储,对协作毫无用处。

过程的最后一步是在推送时再做一步...

当你点击推送时,会弹出一个窗口,底部的复选框说"将标签包括在推送中"。勾选此框,你就可以轻松完成!


6
我从Git Gui启动了gitk,通过左键单击它来突出显示一个提交(在下面的示例中是初始提交),然后右键单击所选的提交以产生所示的下拉菜单,在其中高亮显示“创建标签”选项。
接下来会弹出一个窗口,如下图所示。

3
如果您想使用Tortoise GIT添加标签:
  1. 显示日志
  2. 右键单击提交并选择在此版本创建标签
  3. 选中包括标签后推送
如果您想通过Tortoise GIT删除标签:
  1. 显示日志
  2. 右键单击提交并选择删除refs/tags/x.y.z
  3. 清空本地分支字段并输入标签名到远程分支字段,然后推送

1

我更感兴趣的是通过界面删除标签。我无法找到使用Git GUI进行此操作的方法,因此我不得不在命令行上运行此命令。

git tag -d [nameoftag]

1
很遗憾,git GUI确实不支持删除标签。 - Marc.2377

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