草庐IT

git - 如何根据标签 checkout git中的文件

我有一个提交哈希abcx并且我给它一个标签100。现在我想将文件example.plcheckout到该标记100。在git中可以吗?我可以执行gitcheckoutabcsexample.pl,但我直接想根据标签checkout一个文件。谁能帮我解决这个问题? 最佳答案 因为如何tagsworkinGit,它们基本上只是只读分支,您可以将其视为Git中的任何分支。您可以将它们命名为tags/.要使用标签将存储库的整个状态checkout到工作目录,您可以这样写:gitcheckouttags/但是对于普通分支的情况,您可以通过列出

git describe 在同一个提交上有两个标签

我们偶尔会在同一个提交上有两个标签。当我们对那个提交使用gitdescribe时,gitdescribe总是返回第一个标签。我对git-describe手册页的阅读似乎表明应该返回第二个标签(这更有意义)。SEARCHSTRATEGYForeachcommittishsupplied,gitdescribewillfirstlookforatagwhichtagsexactlythatcommit.Annotatedtagswillalwaysbepreferredoverlightweighttags,andtagswithnewerdateswillalwaysbepreferre

git describe 在同一个提交上有两个标签

我们偶尔会在同一个提交上有两个标签。当我们对那个提交使用gitdescribe时,gitdescribe总是返回第一个标签。我对git-describe手册页的阅读似乎表明应该返回第二个标签(这更有意义)。SEARCHSTRATEGYForeachcommittishsupplied,gitdescribewillfirstlookforatagwhichtagsexactlythatcommit.Annotatedtagswillalwaysbepreferredoverlightweighttags,andtagswithnewerdateswillalwaysbepreferre

git - 当你修改被标记的提交时,Git 中的标记会发生什么?

我已将一些源文件提交到我的git存储库并将其标记为我的软件的新版本。但是我看到了我刚刚犯的一个错误,并使用“修改”功能提交了更正后的文件。现在,我看到标签没有转移到新的提交(使用“修改”功能创建的那个)。但我也可以看到标签仍然存在......我想知道标签发生了什么。这种行为是错误吗?标记是否链接到不再存在的提交?我知道我可以在新提交上强制创建相同的标签,但我相信应该有更好的方法(比如在提交上使用“amend”的命令行参数)。 最佳答案 这是设计使然。Git将提交、标签、blob和树作为其内容的SHA-1哈希进行跟踪。它们只是指向对象

git - 当你修改被标记的提交时,Git 中的标记会发生什么?

我已将一些源文件提交到我的git存储库并将其标记为我的软件的新版本。但是我看到了我刚刚犯的一个错误,并使用“修改”功能提交了更正后的文件。现在,我看到标签没有转移到新的提交(使用“修改”功能创建的那个)。但我也可以看到标签仍然存在......我想知道标签发生了什么。这种行为是错误吗?标记是否链接到不再存在的提交?我知道我可以在新提交上强制创建相同的标签,但我相信应该有更好的方法(比如在提交上使用“amend”的命令行参数)。 最佳答案 这是设计使然。Git将提交、标签、blob和树作为其内容的SHA-1哈希进行跟踪。它们只是指向对象

git:未注释的标签是否比带有错误注释的标签更糟糕?

您查看的每个git教程都对标签有明确的看法:应该始终使用带注释的标签,原因之一是它们被gitdescribe使用。但是,我没有发现使用gitdescribe--tags有什么不好,它也将未注释的标签作为引用点。关于未注释的标签,还有什么其他不好的地方吗?我问是因为我刚刚完成了一个SVN项目到git的转换。我实际上正在考虑为标签提供注释,但如果不是冗余得惊人的“为我们的项目标记版本1.5”消息(无论如何已经用作SVN注释)我应该放什么?带注释的标签对我来说似乎是一件好事(你可以将事物标记为不同的作者,并可能给出简短的描述),但你真的应该使用它们吗?原始提交消息?或在哪些情况下未注释的标签

git:未注释的标签是否比带有错误注释的标签更糟糕?

您查看的每个git教程都对标签有明确的看法:应该始终使用带注释的标签,原因之一是它们被gitdescribe使用。但是,我没有发现使用gitdescribe--tags有什么不好,它也将未注释的标签作为引用点。关于未注释的标签,还有什么其他不好的地方吗?我问是因为我刚刚完成了一个SVN项目到git的转换。我实际上正在考虑为标签提供注释,但如果不是冗余得惊人的“为我们的项目标记版本1.5”消息(无论如何已经用作SVN注释)我应该放什么?带注释的标签对我来说似乎是一件好事(你可以将事物标记为不同的作者,并可能给出简短的描述),但你真的应该使用它们吗?原始提交消息?或在哪些情况下未注释的标签

git - 如何区分git标签和分支

在试图理解Appium1.4分支的HEAD和标签v1.4.16之间的区别时,我没有找到告诉gitdiff区分标签和分支的方法。据我所知,从gitdiff的角度来看,标签和分支都只是提交哈希的别名,不是吗?我最终只是创建了指向分支头的标签“v1.4”(gitcheckout1.4;gittag-av1.4),然后我可以执行gitdiffv1。4.16..v1.4看看我追求的不同。但这似乎有点奇怪,这是实现我需要的唯一方法吗? 最佳答案 感谢大家的领导建议。问题似乎是我没有本地分支1.4。我可以通过几种方式实现我想要的(即原始Git存储

git - 如何区分git标签和分支

在试图理解Appium1.4分支的HEAD和标签v1.4.16之间的区别时,我没有找到告诉gitdiff区分标签和分支的方法。据我所知,从gitdiff的角度来看,标签和分支都只是提交哈希的别名,不是吗?我最终只是创建了指向分支头的标签“v1.4”(gitcheckout1.4;gittag-av1.4),然后我可以执行gitdiffv1。4.16..v1.4看看我追求的不同。但这似乎有点奇怪,这是实现我需要的唯一方法吗? 最佳答案 感谢大家的领导建议。问题似乎是我没有本地分支1.4。我可以通过几种方式实现我想要的(即原始Git存储

git - 如何在没有本地仓库的情况下远程运行 git 命令

我有一个名为“git-export”的脚本,它可以帮助我导出远程存储库。它是这样运行的:git-exporthttp://host.com/git-repo/local/dir在使用它导出本地存储库之前,我使用了这些命令:从分支获取提交:gitbranch-v--no-abbrev|awk'($1=="'$BRANCH'")||($1=="*"&&$2=="'$BRANCH'"){if($1=="*"){print$3;}else{print$2;}}'或gitrev-parse-q--verify$BRANCH^{commit}通过标签获取提交:gitrev-parse-q--ver