如何在Git中执行类似于svn标记的操作?

时间:2009-05-11 09:37:28

标签: git version-control dvcs

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

所以我想标记我的应用程序的版本。 我希望以后能够查看这个版本。

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

我做了:

git tag -a stable-pre-new-spec

执行时:

git show stable-pre-new-spec

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

我应该创建分支吗?

2 个答案:

答案 0 :(得分:2)

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

第二 - 这适用于许多cm系统,包括cvs和svn-- git为状态差异提供相同的名称。 Git将这个组合的东西称为提交。所以你询问版本,它会显示你和之前的状态之间的差异。在git中,commit id实际上是整个保存的树内容的校验和;向您展示golden spike

只是传统的

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

答案 1 :(得分:0)

我在你的案子中使用了一个分支:

git checkout -b app_in_current_state

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