如何在Git中标记较旧的提交?
我们是git的新手,我想在我们的仓库的开始处设置一个标签。 我们的生产代码和开始的仓库一样,但是从那时起我们已经提交了。 标签一开始就能让我们把生产“回滚”到一个已知的稳定状态。
那么如何添加一个标签到一个任意的,较旧的提交?
例:
git tag -a v1.2 9fceb02 -m "Message here"   9fceb02是提交ID的开始部分。 
 然后你可以用git push --tags origin master来推它们 
 你可以做git log来显示当前分支中的所有提交ID。 
Pro Git书中还有一个很好的标记章节。
只是守则
 # Set the HEAD to the old commit that we want to tag git checkout 9fceb02 # temporarily set the date to the date of the HEAD commit, and add the tag GIT_COMMITTER_DATE="$(git show --format=%aD | head -1)" \ git tag -a v1.2 -m"v1.2" # set HEAD back to whatever you want it to be git checkout master 
细节
  @dkinzer的答案会创build标签,其date是当前date(当您运行git tag命令时), 而不是提交的date。  Git帮助tag有一个“On Backdating Tags”部分: 
如果您从其他VCS导入了一些更改,并且希望为主要版本添加标签,则可以指定要在标签对象内部embedded的date; 标签对象中的这种数据会影响,例如,gitweb界面中标签的sorting。
要设置将来标记对象中使用的date,请设置环境variables
GIT_COMMITTER_DATE(请参阅后GIT_COMMITTER_DATE可能值的讨论;最常见的forms是“YYYY-MM-DD HH:MM”)。例如:
$ GIT_COMMITTER_DATE="2006-10-02 10:31" git tag -s v1.0.1
“如何在Git中进行标记 ”页面告诉我们,我们可以通过以下方式提取HEAD提交的时间:
 git show --format=%aD | head -1 #=> Wed, 12 Feb 2014 12:36:47 -0700 
我们可以通过以下方式提取特定提交的date:
 GIT_COMMITTER_DATE="$(git show 9fceb02 --format=%aD | head -1)" \ git tag -a v1.2 9fceb02 -m "v1.2" 
但是,不是重复提交两次,而是将HEAD更改为该提交并在两个命令中隐式使用它似乎更容易:
 git checkout 9fceb02 GIT_COMMITTER_DATE="$(git show --format=%aD | head -1)" git tag -a v1.2 -m "v1.2" 
最简单的方法是
 git tag v1.0.0 f4ba1fc 
  f4ba1fc是你想要标记的提交的散列的开始, v1.0.0是你想要标记的版本。 
使用命令:
 git tag v1.0 ec32d32 
其中v1.0是标签名称,ec32d32是要标记的提交
完成后,您可以按以下方式推送标签:
 git push origin --tags 
参考:
Git(版本控制):如何在GitHub中标记特定的前一个提交点?
这是一个古老的问题,答案已经完成,但也有一个新的select可以考虑。
如果你使用SourceTree来pipe理你的git仓库,你可以右击任何提交并添加一个标签。 用另一个鼠标点击,你也可以直接发送标签到原产地的分支。
好的 ,你可以简单地做:
 git tag -a <tag> <commit-hash> 
 所以,如果你想添加标签: 1.0.2提交8ecdb02 ,只是简单地做: 
 git tag -a 1.0.2 e50f795 
 你也可以在最后添加一个消息,使用-m ,如下所示: 
 git tag -a 1.0.2 e50f795 -m "my message" 
 毕竟,你需要把它推到remote ,做到这一点,只需: 
 git push origin 1.0.2 
如果你有很多你不想一一提及的标签,只要简单地做:
 git push origin --tags 
将所有标签推到一起
 另外,我在下面的图片中创build了这些步骤,以便更多地了解这些步骤:  
 
您也可以在Hub中使用dd标记或使用SourceTree之类的工具来避免之前的步骤,在这种情况下,我login到了Bitbucket并从中执行:
- 去你的分支,find你想要添加标签的提交,然后点击它:
  
 
-  在提交页面的右侧,findNo tags,然后单击+图标:
  
 
- 在标签名称框中,添加您的标签:
  
 
- 现在您可以看到标签已经成功创build:
 