VS Code / Git - 是否可以在给定时间点 "drive a stake in the sand" 并说 "This all works"?

VS Code / Git - is it possible to "drive a stake in the sand" at a given point in time and say "This all works"?

又一个菜鸟问题:

给定一个包含许多相互关联的文件的项目,这些文件在给定的时间点可能正在运行,也可能不运行:

假设在开发这些文件的过程中,我已经达到了它们都可以工作的地步(至少在一定程度上),也许还有事情要做。

Git 存储库(GitHub)的正常视图,一切都是线性混乱,由没有上下文意义的神秘提交哈希区分。

我想做的是获取组成这个项目的文件组,并且作为一个统一的集合 - 说“这在这个时间点有效” - 这样如果发生什么事情我有一个已知的 -要返回参考的工作文件集。

这指的是特定文件的特定版本,而不是整个线性提交历史。

我研究的内容:

  1. 标签
    标签似乎是一种标记单个文件的方式,而不是作为一个统一整体的集合。

  2. 版本
    这听起来像我想要的,但“发布”的想法让我害怕,因为它暗示该项目(至少是半)“准备好迎接黄金时段”。除非你碰巧有一个机器人 和我的一模一样,操作系统 和我的一模一样,配置和我的一模一样,还有一个 和我的一模一样的操纵杆 ,那么这不会让你走得太远,我不想因为我的代码是一堆垃圾而提出一百万个问题! (它 一块 GAGH - 这是一个帮助我学习东西的训练练习,而不是 public 消费的项目。)

欢迎提出想法。

您想要的是一个标签 - 当您添加一个标签时,您是在整个存储库中使用该标签标记那个时间点 - 而不是您所说的文件。

如果我 'checkout' 你的仓库在你的标签上。说 1.0.0 标签,我会在那个时间点获取所有文件。

研究基于 Semantic Versioning - X.Y.Z 的版本控制方案。

令人困惑 - 不同的 VCS 提供商(GitLab、GitHub 等)使用术语 'release' 来表示不同的事物。 GitHub 实际上会从标签中创建一个 'release'...因此您最终会在发布列表中找到它们。

此外 - 研究 'branching'... 这允许您 'branch' 使用一些新的和很棒的代码来 'branch' 关闭代码的已知工作版本...可能会或不会工作,或中断事物。如果你到了你认为“Hrm,我需要在已知的工作版本上做一些事情,但我当前的分支版本真的坏了”的地步 - 你可以检查旧分支并返回到你原来的地方,而不会丢失任何工作。 (前提是您一直在投入工作)。
这是分支机构的一个非常简单的用例,但是当您与大型团队合作时,它们变得非常宝贵。