草庐IT

CURRENT_SHA

全部标签

git - 为什么 git hash-object 返回的哈希值与 openssl sha1 不同?

上下文:我从code.google下载了afile(Audirvana0.7.1.zip)到我的MacbookPro(MacOSX10.6.6)。我想验证校验和,该特定文件的校验和发布为862456662a11e2f386ff0b24fdabcb4f6c1c446a(SHA-1)。githash-object给了我一个不同的哈希值,但是opensslsha1返回了预期的862456662a11e2f386ff0b24fdabcb4f6c1c446a。以下实验似乎排除了任何可能的下载损坏或换行差异,并表明实际上有两种不同的算法在起作用:$echoA>foo.txt$catfoo.txtA

git - 如何使用 1 个命令从 Git 的另一个分支中挑选最后一个 sha?

我发现自己在从另一个分支中挑选提交时经常这样做。$gitlog-1another_branchcommit//copy$gitcherry-pick我可以在一个命令中完成所有这些吗?如果可以,它是什么? 最佳答案 只需使用:$gitcherry-pickanother_branch这将从another_branch中挑选最后一次提交。git中的分支只是对该分支中最后一次提交的引用,您可以在命令中使用它们而不是提交SHA。 关于git-如何使用1个命令从Git的另一个分支中挑选最后一个sh

git - 如何从远程 git 存储库获取最新提交的 SHA?

有谁知道如何从git存储库外部获取给定分支的最新SHA?如果您在git存储库中,您可以:gitlogorigin/branch_X|head-1但是,我不在git存储库中,我想避免为了获取标签/分支的最新SHA而必须克隆存储库。有没有聪明的方法来做到这一点? 最佳答案 使用rev-parsegitrev-parseorigin/master#togetthelatestcommitontheremotegitrev-parseHEAD#togetthelatestcommitonthelocal

git - 获取有关 SHA-1 提交对象的信息?

我在提交日志中搜索了一个感兴趣的主题:$gitlog--pretty=oneline|grep-i...$SHA1我现在有一个SHA1,我想知道有关影响该SHA1的文件的信息,并可能稍后将它们与它们的父级diff.我怎样才能完成这个? 最佳答案 gitshow将显示从父提交更改的文件的提交日期、作者、父级和差异。 关于git-获取有关SHA-1提交对象的信息?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.

git - git push.default=current 和 push.default=upstream 有什么区别?

git-config的手册页列出了push.default的这些选项:nothing-donotpushanything.matching-pushallmatchingbranches.Allbrancheshavingthesamenameinbothendsareconsideredtobematching.Thisisthedefault.upstream-pushthecurrentbranchtoitsupstreambranch.tracking-deprecatedsynonymforupstream.current-pushthecurrentbranchtoabra

Git 标签列表,显示提交的 sha1 哈希值

所以gittag命令列出了当前的git标签tag1tag2gittag-n打印标签的信息tag1blahblahtag2blahblah获取tag1和tag2的哈希值的最佳方法是什么? 最佳答案 要使用Tag对象的SHA1哈希获取git标签,您可以运行:gitshow-ref--tags输出将类似于:0e76920bea4381cfc676825f3143fdd5fcf8c21frefs/tags/1.0.05ce9639ead3a54bd1cc062963804e5bcfcfe1e83refs/tags/1.1.0591eceaf

git - 如何从 GitHub 下载特定提交 sha 的 .zip?

我想下载一个.zip文件,其中包含托管在github上的库的源代码,但我不想要master,因为每次下载我都可能下载不同的版本。这个特定的库没有标签,所以我不能使用它。那么如何下载特定提交sha的source.zip? 最佳答案 你可以把你想要的sha放在下载地址中:https://github.com/{username}/{projectname}/archive/{sha}.zip作为一般规则,如果您有一个可用的url,您可以将“master”替换为您想要的特定sha。在Unix上:wgethttps://github.com

git - "simple"vs "current"push.default in git for decentralized workflow

从功能上讲,在去中心化的工作流程中,我看不出push.default配置设置的simple和current选项之间的区别.current会将当前分支推送到指定远程上的同名分支。simple将有效地为当前分支的跟踪和任何未跟踪的远程执行相同的操作(它在两种情况下强制执行相同的分支名称)。有人可以解释一下我所遗漏的去中心化工作流程两者之间的任何重要区别吗? 最佳答案 不同之处在于,使用simple时,如果当前分支没有跟踪远程上游分支(即使一个远程上存在同名分支):$gitcheckout-bfooSwitchedtoanewbranch

git - Git 在哪里存储子模块提交的 SHA1?

我知道,当您将子模块添加到git存储库时,它会跟踪由其sha1引用的该子模块的特定提交。我正在尝试查找此sha1值的存储位置。.gitmodules和.git/config文件只显示子模块的路径,但不显示提交的sha1。git-submodule(1)引用仅提及gitlink条目和gitmodules(5)引用文献对此也没有任何说明。 最佳答案 它直接存储在Git的对象数据库中。子模块所在目录的树对象将具有子模块提交的条目(这就是所谓的“gitlink”)。尝试做gitls-treemaster(或者只是gitls-treemast

git - 如何在没有 Git 的情况下将 Git SHA1 分配给文件?

据我了解,当Git将SHA1散列分配给文件时,此SHA1根据其内容对于文件是唯一的。因此,如果一个文件从一个存储库移动到另一个存储库,该文件的SHA1保持不变,因为它的内容没有改变。Git如何计算SHA1摘要?它是否对完整的未压缩文件内容执行此操作?我想在Git之外模拟分配SHA1。 最佳答案 这就是Git计算文件(或者用Git术语来说,“blob”)的SHA1的方式:sha1("blob"+filesize+"\0"+data)因此您无需安装Git即可轻松自行计算。请注意,“\0”是NULL字节,而不是两个字符的字符串。例如一个空