-2

我的应用程序需要符合新规范。

所以我想标记我的应用程序的一个版本。我希望将来能够查看此版本。

我提交了所有最新的更改。

我这样做:

git tag -a stable-pre-new-spec

当我执行时:

git show stable-pre-new-spec

它显示了我上次提交的差异?!我不完全明白发生了什么。

我应该创建一个分支吗?

4

2 回答 2

2

有两件事正在发生。首先,git 修订是整个文件树的修订。 相反,我相信 cvs 和 svn 为各个文件提供单独的修订号。因此,在 cvs 或 svn 中,“tag”操作结束并附加,例如,“stable-pre-new-spec”到 file1 版本 1.0.3、文件 2 版本 1.0.2、file3 版本 2.0、文件 4 版本 1.3。 7 等等。然后,当您想使用该标签获取时,系​​统会查找所有带有该标签的片段。在 git 中,一个版本已经是关于整个集合的,标记只是给它另一个名称。

其次——这适用于包括 cvs 和 svn 在内的许多 cm 系统——git 给一个state赋予相同的名称和不同之处。Git 将这个组合的东西称为提交。因此,您询问版本,它会向您显示该版本与前一个状态之间的差异。在 git 中,commit id 实际上是整个保存的树内容的校验和;向您展示金穗只是惯例。

在 git 中,您可以在创建提交后随时标记提交或从中创建分支。

于 2011-04-29T17:38:16.173 回答
0

我会在你的情况下使用一个分支:

git checkout -b app_in_current_state

然后,您将能够继续在 master 上开发,同时在分支中修复您当前的状态。

于 2009-05-11T10:07:50.113 回答