问题
为什么我不能为两个较旧的提交添加标签?
git tag -a matlabTest cfa84dbb6dd3c2c9956421e723d2f99786f7b417
git tag -a matlabTest 45b3a4d83eece8a5adcb947392f15a14bd4b0e63
相反,我得到:
fatal: tag 'matlabTest' already exists
似乎 Git 只想创建一个新标签而不是将标签链接到提交?(更多细节见下文)。
背景
我遵循了 git book 中的指南:https://git-scm.com/book/en/v2/Git-Basics-Tagging,这是我尝试过的(但失败了):
我输入git log --pretty=oneline
,显示三个提交:
cfa84dbb6dd3c2c9956421e723d2f99786f7b417 Preparing to make changes to changes.py to fix
45b3a4d83eece8a5adcb947392f15a14bd4b0e63 Tests: wholeseq analysis differs to Matlab
a894da22e2eb1c03930829622656ffd6da5ce161 Initial python scripts for analysis
我创建了一个标签git tag -a matlabTest
,现在我想将“matlabTest”添加到两个提交**。具体来说,上面显示的三个中的顶部和中间提交。
git tag -a matlabTest cfa84d
git tag -a matlabTest 45b3a4
现在在这两种情况下,我都会收到以下错误:
fatal: tag 'matlabTest' already exists
但是当我通过输入显示“matlabTest”标志时,git show matlabTest
我看到只有第一个提交被成功标记,我已经截断了输出,因为它很长,但在输出结束时我看不到两个提交都被标记:
tag matlabTest
Tagger: *foo (I did not want to show personal information)*
Date: Fri Nov 25 02:37:41 2016 +0200
After testing dnds.py by comparing whole-seq dN/dS output to MATLABs dnds() output, both using NG, dnds.py seems to have a calculation error. So I have started to make changes to changes.py
commit 45b3a4d83eece8a5adcb947392f15a14bd4b0e63
Author: *foo (I did not want to show personal information)*
Date: Fri Nov 25 02:20:27 2016 +0200
*...<remainder of script>*
额外背景
**为什么我要标记两个较旧的提交?因为我正在尝试调试一些静默错误(与我在 MATLAB 中编写的以前的软件不一致),它是由两个脚本(changes.py 和 dnds.py)之一引起的,并且每个脚本都有不同的提交( cfa84db 和 45b3a4d8) 指向它。我想标记两个提交以帮助我系统地处理这个错误。