标题不准确,但我不能用一句话表达得更好。
我只想在git-log中看到不同的消息。我原以为可以用git-notes来实现,但我还没有做到。
解释:
我需要它来修复提交消息中的错误。我总是在那里写下包含我与客户通信的文档的名称(它看起来就像T1234 Replace foo by bar)。通信时间往往很长,所以在我发现在提交消息中被错误的文档名称误导之前,我可以释放大量的时间。
git-notes的使用
看起来,git-notes的工作方式实际上与声明的这里一样。但是我总是用
git log --oneline所以我从来没见过。关于向用户撒谎的评论: IMHO,这是可以接受的,只有在使用像--replace-messages-by-notes这样的特殊开关时才能接受,不是吗?因为我总是使用别名而不是直接使用git log,所以我可以在不经常输入的情况下得到我想要的东西。
您认为这是一个合理的功能要求,还是您会推荐另一个工作流给我?
发布于 2011-03-07 06:10:18
正如许多人所指出的(例如,在冯克的答案非常有用中),git notes确实是您要寻找的机制。对您来说,将您的别名更改为以下内容还不够吗?
git log --oneline --show-notes据推测,只有偶尔,您才需要向commit中添加一个注释,并且在该命令的输出中,这些注释将在视觉上脱颖而出。
如果确实希望替换每个提交的主题(如果存在注释),则始终可以按照以下方式创建脚本:
for c in $(git rev-list HEAD)
do
n=$(git notes show $c 2> /dev/null)
m=$(git show --oneline $c|head -1)
if [ -n "$n" ]
then
m=${m/ */ $n}
fi
echo $m
done..。但在我看来,这是为了一点点利益而做的更丑陋的事情。
发布于 2011-03-06 20:19:59
发布于 2011-03-06 20:09:31
从技术上讲,这似乎是不可能的(至少对我来说,我不是一个专业的吉特人)。
git提交存储一个树哈希(考虑:当时工作目录的状态),并提供附加的提交信息。当您更改提交消息时,树哈希不会更改,但是提交哈希将更改,因为它是从commit对象计算出来的,因此没有办法绕过它。
详情请参见Progit内部。
https://stackoverflow.com/questions/5212957
复制相似问题