今天我正在浏览一个项目的日志,并意识到我不久前发了一个标签名称.有没有办法重命名标签?谷歌没有发现任何有用的东西.
我意识到我可以查看标记版本并制作新标签,我甚至尝试过.但这似乎创建了一个不太正确的标签对象.一个,
git tag -l
Run Code Online (Sandbox Code Playgroud)
相对于所有其他标签,它不按顺序列出.我不知道这是否重要,但它让我相信新标签对象不是我想要的.我可以忍受,因为我真的只关心标签名称与文档匹配,但我宁愿"正确",假设有正确的方法来做到这一点.
我知道如何在Bash脚本中编写多行命令,但是如何在多行命令中为每一行添加注释?
CommandName InputFiles \ # This is the comment for the 1st line
--option1 arg1 \ # This is the comment for the 2nd line
--option2 arg2 # This is the comment for the 3nd line
Run Code Online (Sandbox Code Playgroud)
但不幸的是,继续角色之后的评论\将打破命令.
我正在尝试从DbgView日志文件中删除前两列(我不感兴趣).我似乎无法找到从第3列开始直到行结束的示例.请注意,每一行都有可变数量的列.
是否有比做库得到SHA1s的原始列表中的所有对象的一种更好的方式ls .git/objects/??/\*和cat .git/objects/pack/*.idx | git show-index?
我知道,git rev-list --all但只列出.git/refs引用的提交对象,我正在寻找包括由git-hash-object,git-mktree等创建的未引用对象的所有内容.
我想找到所有不相等的文件/目录.git*,所以我尝试了以下命令,但它有相反的效果(它打印包含的路径.git).
$ find . ! -name "*.git"
$ find . ! -name ".*.git"
$ find . ! -name "*.git*"
$ find . ! -regex "*.git"
$ find . ! \( -name "*.git*" \)
Run Code Online (Sandbox Code Playgroud)
我也尝试使用\!转义的上述命令,如find . \! -name "*.git".
问:find "不等于" 的正确语法是什么?
我创建了一个标签并忘了签名,然后将标签推送到GitHub.是否可以追溯签署该标签,还是必须创建新标签?
我已经阅读了man页面git tag并搜索了一下,但是没有提出任何线索,可以为已经存在的标签添加签名.
在我们公司,我们使用Git标签来触发生产构建.我刚刚在本地创建了一个标签
git tag -m "Tag message"
Run Code Online (Sandbox Code Playgroud)
但是我意识到我犯了一个拼写错误,如果我共享标签(将其推送到远程),将会破坏生产版本.
我可以删除或修改标签,因为我可以使用提交吗?我还没有将标签推送到远程存储库.
在git中添加新标记时,我想在$ EDITOR激活之前自动修改默认(空)标记消息 - 类似于git允许通过prepare-commit-msg钩子准备提交消息的方式.
例如:
git tag -s v1.2.3
Run Code Online (Sandbox Code Playgroud)
应该用预填充的内容打开我的编辑器,如下所示:
Release v1.2.3:
* Dynamically generated message 1
* Dynamically generated message 2
Default standard text.
#
# Write a tag message
# Lines starting with '#' will be ignored
Run Code Online (Sandbox Code Playgroud)
有没有办法实现这个目标?不幸的是,prepare-commit-msg钩子不能用于标记消息.(或者这个,或者我太笨了,无法知道如何去做.)
最后能够在TFS 2017 Update 2之后直接从TFS门户使用标记功能,我开始添加Git标签.
注意到某些标签缺失说明(在Git中标记消息),我试图编辑标签; 我似乎无法找到编辑/删除标签的选项.
从如何在git中编辑现有标记消息中提示?,我试图通过创建具有相同名称的标签来覆盖标签.TFS引发了A Git ref with the name <tagName> already exists.错误.
我或许可以按照如何删除git远程标记?从我的Windows机器上使用Git Bash.我试图在TFS门户中找到一种方法来实现这一点.
如何在TFS 2017 Update 2 Portal中编辑/删除Git标签?
我有一个包含三个注释标签本地的Git仓库:v0.1.0,v0.1.1,和v0.1.2.
当我使用gitk(Repository→Visualize master的历史记录)查看项目的历史记录时,我可以看到每个标记分配给正确的提交.
但是,当我尝试在Git GUI(分支→结帐...→标签)中签出我的标签时,标签v0.1.1不会出现.
当我去检查gitk中的每个标签时,我注意到标签的细节略有不同.详细信息v0.1.0并将v0.1.2其列为type commit,而标记v0.1.1列为type tag.
值得注意的是,我在这个标签上重写了历史.为了修复我的标签描述中的拼写错误,我使用了编辑标签消息git tag <tag name> <tag name> -f -m "<new message>".
v0.1.1在使用Git GUI结账时,为什么我看不到我的标签?它为什么显示为type tag?