git diff HEAD 和 HEAD~ 区别[重复]

2023-12-24

我正在搜索工作树和上次提交之间的差异,并在 Stackoverflow 上发现了这个已接受的答案。

有人可以解释一下 HEAD 和 HEAD~ 实际上指的是什么吗,因为答案中没有解释,我无法从谷歌中弄清楚。 :)

Thanks.


首先,实际上回答最初的需求:“我正在寻找工作树和上次提交之间的差异”

你必须简单地

git diff HEAD

(HEAD对于大多数命令来说都是隐含的,但是diff这里有点不同,是的git diff不同于git diff HEAD)


现在,之间的区别HEAD and HEAD~很简单:

HEAD是 git 用来表示当前正在处理的状态的指针,通常是一个分支。 (参见glossary https://git-scm.com/docs/gitglossary#Documentation/gitglossary.txt-aiddefHEADaHEAD)

~表示指定的提交parent. So HEAD~意思是“不是最后一次提交,而是之前的一次”

有了这样一棵树:

---> time direction this way --->

A---B---C <<< master <<< HEAD

HEAD将决心承诺C, while HEAD~将决心B


编辑以澄清HEAD^

HEAD^ and HEAD~两者都指向(如果我们坚持我们的例子)B,但它不应该误导您认为它们是相同的。

<someCommit>^N (where N=1如果没有明确给出)表示指定的提交第 N 个父级当所述提交有多个父项时。对于经典的两个父母合并,如果HEAD指向合并提交,可以找到父项HEAD^ and HEAD^2.

<someCommit>~N(again, N另一方面,默认为 1) 意味着第N代祖先所说的提交,意味着你回到过去的 N 个提交,每次只跟随一个父提交。为了更清楚起见,在我们的示例中,HEAD~2将指定A

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

git diff HEAD 和 HEAD~ 区别[重复] 的相关文章

  • “Git 推送非快进更新被拒绝”是什么意思?

    我正在使用 Git 来管理我的两台计算机和我的开发 我尝试将更改提交到 GitHub 但收到此错误 无法将一些参考推送到
  • Git:man 命令不起作用

    在 Git Bash 中 他们给了我一个error用于返回 man command man git bash man command not found 我的 Git 版本 git version git version 2 18 0 wi
  • GIT 中的重复合并。它如何计算差异?

    我一直在做一项研究 试图了解 GIT 合并是如何工作的 我知道有几种合并类型 如递归 章鱼等 我发现解析 递归是最常用的 并且递归合并仅在存在多个共同祖先 基础时才有用 但是 我找不到从分支重复合并到主节点时使用哪种算法 或者如何计算祖先
  • 如果文件已在服务器上,请避免使用 git-ftp 上传

    假设我有应用程序的本地副本 我将其推送到 github 然后使用 git ftp 将任何更改上传到我的服务器 我首先会使用 git ftp init u
  • 使用 GIT 自动增加 AssemblyFileVersion

    好吧 我知道这可能不是传统的 但除此之外 我使用 AssemblyFileVersion 作为我的 构建名称 字符串 它的格式如下 File Version information for an assembly consists of t
  • 判断 Git 提交是否是合并/恢复提交

    我正在编写一个脚本 需要检查特定提交是否是合并 恢复提交 我想知道是否有 git 技巧 到目前为止我想到的 我绝对不想依赖这里的提交消息 是检查HASH 2看看我是否没有收到错误 是否有更好的方法 判断某个东西是否是合并很容易 这是不止一位
  • 从 git 中删除历史记录 - git 命令失败

    我正在尝试从 Git 历史记录中清除项目 bin 目录 我已经将 bin 添加到 gitignore 并运行 git rm cached r bin成功地 现在我尝试使用 GitHub 帮助页面中推荐的命令来清除历史记录 git filte
  • 是否存在比 SVN 更快的集中版本控制?

    我已经使用 SVN 很长时间了 现在我们正在尝试使用 Git 我在这里谈论的不是中心化 去中心化的争论 我唯一关心的是速度 后一个工具要快得多 但有时 我需要使用一种集中式方法 这种方法比分散式方法更简单 更简单 学习曲线非常快 这节省了大
  • Git 命令显示我对给定远程的权限

    同事可以从远程存储库获取数据 但不能推送到远程存储库 我怀疑他对遥控器只有读权限而没有写权限 我可以通过多种方法来检查这一点 但我想不出他可以在 git 中使用的方法 是否有 git 命令可以显示给定远程存储库的权限 No Git 本身不处
  • `git rm --cached` 和 `git update-index --assume-unchanged` 之间的区别?

    我不明白之间的区别git rm cached and git update index assume unchanged 我知道git rm cached
  • 如何在 Windows 上向 git 存储库添加符号链接?

    我使用 GitHub 的电子环境编译 OS X 的二进制文件 并希望将输出添加到 git 存储库 我试过 git add error readlink sulu app Contents Frameworks Electron Framew
  • vscode通过SSH连接gitlab的问题

    我在尝试通过 SSH 连接到 GitLab 远程存储库时遇到问题 这里是迄今为止完成的步骤 成功生成 SSH 密钥 管理人员将密钥添加到存储库中 因此当我访问 GitLab 网站时 我可以提交和发布分支 我无法从 VSCODE 发布分支并收
  • 如何修复树与树之间的 Git 错误断开链接?

    我的事务被中断 当我再次尝试时 我遇到了空或损坏的对象错误 在另一个问题之后 我删除了所有空文件 当我运行时 git fsck full 我收到这个错误 Checking object directories 100 256 256 don
  • 相当于“svn update -r”的 git 是什么?

    我是最近的 git 转换者 能够使用 git svn 将我的分支保留在本地而不干扰 svn 服务器真是太棒了 最新版本的代码中存在一个错误 我想确定一个它起作用的时间 以便我可以使用 git bisect 我找不到正确的命令来及时返回 谢谢
  • git diff 在尖括号中显示 unicode 符号

    我有一个带有 unicode 符号 俄语文本 的文件 当我修复一些拼写错误时 我使用git diff color words 看看我所做的改变 如果是 unicode 西里尔文 符号 尖括号会造成一些混乱 如下所示 cat p1 cat p
  • 推送时发生 Git 错误 - update_ref 失败

    当我尝试推送本地提交时遇到问题 这可能是在 Android Studio 崩溃时发生的 这是错误 update ref 引用 refs remotes origin master 失败 无法锁定 ref refs remotes origi
  • 如何解决 VSTS 中拉取请求中的合并冲突?

    我已经创建了拉取请求 我进入了这个 批准 按钮不执行任何操作 并且 完成 被禁用 如何解决拉取请求中的冲突 Update 微软刚刚添加了基于浏览器的合并 这可能会让你摆脱小冲突的困境 并提供自 Sprint 150 起改进了不同场景的可视化
  • 如何从 android.googlesource.com 或 github.com 下载单个目录?

    我想下载 https android googlesource com platform frameworks base git master tools aapt https android googlesource com platfo
  • git push heroku master 权限被拒绝

    我正在关注 ruby railstutorial 我运行命令 git push heroku master 它吐出了这个错误 Permission denied publickey fatal Could not read from rem
  • Git:显示分支之间的差异,忽略合并的提交

    我的存储库历史记录看起来像这样 x y z branch a b c d e master 我想获得 branch 完整历史记录的单个差异 即 像 git diff 输出 我不想要像 git log p 产生的一大堆差异 而不包括任何从 m

随机推荐

  • 通过 eclipse 插件访问项目构建路径

    我需要以编程方式检查项目的构建路径是否已包含指定的库 这是一个快速修复建议 以了解这是否已经 修复 并且不会成为问题 我可以访问当前的IInvocationContext 因此 在某些拐角处 到相应的IProject object 如何检查
  • 使用 Docker 的 artifacts-credprovider 和 VSS_NUGET_EXTERNAL_FEED_ENDPOINTS

    也许您可以帮助我使用私人 NuGet feed 进行身份验证 我已经花了一天时间研究不同的解决方案并注意到这个仓库 https github com microsoft artifacts credprovider 但我仍在努力完成它 我使
  • Perl 挑战 - 目录迭代器

    有时您会听到关于 Perl 的说法 可能有 6 种不同的方法来解决同一问题 优秀的 Perl 开发人员通常具有合理的见解 可以在各种可能的实现方法之间做出选择 举一个 Perl 问题的例子 一个简单的脚本 它递归地迭代目录结构 查找最近修改
  • 自定义验证器在 FormView 中工作吗?

    我通过谷歌搜索发现很多人都在为这个问题苦苦挣扎 但我仍然没有找到正确的答案 https i stack imgur com 15jen png https i stack imgur com 15jen png 我有一个表单视图 需要检查语
  • Django ORM 中 ImageField 的默认图像

    我正在使用一个ImageField将个人资料图片存储在我的模型上 如果没有定义图像 如何设置它返回默认图像 我还没有尝试过这个 但我相对确定您可以将其设置为您所在领域的默认值 pic models ImageField upload to
  • 是否有适用于 Delphi-XE 的 LockBox 版本

    在哪里可以找到适用于 Delphi XE 的 LockBox 版本 有 Delphi 2010 版本可用Songbeamer com http www songbeamer com delphi 根据我将 Abbrvia 移植到 Delph
  • 如何生成给定集合的幂集?

    我正在为面试而学习 我在网上的 数学 类别下偶然发现了这个问题 生成给定集合的幂集 int A 1 2 3 4 5 int N 5 int Total 1 lt lt N for int i 0 i lt Total i for int j
  • DataGridView 在最后一行之后显示一些额外的空间

    我有一个Panel我在其上放置了一个控件DataGridView控件 显示来自 SQL Server 的数据 它工作得很好 除了当我将滚动条移动到底部时出现不必要的空间 我缩短了高度 但空间仍然存在 My DataGridView以编程方式
  • (sql) 当数据类型为文本时如何使用 count() 方法?

    select count category from list where category like action 上面是我想要运行的查询 但是 当我运行该查询时 我得到 数据类型错误 有没有其他方法count 或者 我该如何使用coun
  • 寻找将变量插入对象(如果不为空)的简写

    我经常有几个命名变量 如果它们不为空或未定义 我想将它们放入一个对象中 JavaScript 有几个很好的构建对象的快捷方式 所以我想一定有一个适合这个用例的快捷方式 我通常会做这样的事情 但它是如此冗长 function foo a b
  • 表变量可以用在 select 语句的 where 子句中吗?

    我有一个正在执行两步查询的存储过程 第一步是从表中收集 VARCHAR2 类型字符的列表 并将它们收集到表变量中 定义如下 TYPE t cids IS TABLE OF VARCHAR2 50 INDEX BY PLS INTEGER v
  • 多对多自引用表

    有没有好的方法来实现单表中行之间的多对多关系 示例 存储单词同义词的表 list of words CREATE TABLE word id integer PRIMARY KEY word varchar 32 NOT NULL UNIQ
  • 将文件 bin\EntityFramework.SqlServer.xml 复制到 ..\bin\EntityFramework.SqlServer.xml 时出错失败

    当我尝试发布 ASP NET MVC 4 项目时 出现以下错误 错误 1 将文件 bin EntityFramework SqlServer xml 复制到 obj Debug Package PackageTmp bin EntityFr
  • 在C++中通过迭代器从向量中获取相邻的元素对

    我想迭代向量中的所有相邻对元素 例如 如果我有一个向量 1 2 3 4 我希望我的迭代器返回以下内容 1 2 2 3 3 4 我知道如何使用以下命令一次迭代一个元素 vector
  • pandas 重新定义 isnull 以忽略 'NA'

    作为数据分析练习的一部分 我正在将 Excel 工作表读入 pandas 数据框 df pd ExcelFile file xlsx parse 0 nullcounts df isnull sum to frame null record
  • 如何实现霍夫变换?

    如何实施霍夫变换 http en wikipedia org wiki Hough transform在文本图像上 我正在寻找伪代码 最终这将在java中 以下是一些背景信息 给定图像 确定直线的方程y mx b 通常 霍夫变换以极坐标表示
  • 是否可以反转显示的顺序错误?

    当使用 GHC 编译有错误的程序时 错误会按升序显示 这会导致第一个错误被推到控制台上 因此如果您首先修复第一个错误 则需要向上滚动 这可能很烦人 是否可以要求 GHC 按行降序打印错误 您可以使用 freverse errorsGHC 编
  • Echarts3(百度)工具提示中的彩色圆形

    Echarts3 百度 工具提示中的彩色圆形 默认情况下 工具提示具有与图形相同颜色的圆形 如下所示 http echarts baidu com gallery editor html c candlestick brush http e
  • NSXMLParser:非 ASCII 字符的意外结果

    我正在尝试通过 REST Web 服务下载 XML 格式的数据 我已经使用 NSXMLParser 创建了解析器 并在 TableView 中可视化数据 当我在 XML 文档中遇到带有重音的句子时 我遇到了问题 在我发现的一些研究中this
  • git diff HEAD 和 HEAD~ 区别[重复]

    这个问题在这里已经有答案了 我正在搜索工作树和上次提交之间的差异 并在 Stackoverflow 上发现了这个已接受的答案 有人可以解释一下 HEAD 和 HEAD 实际上指的是什么吗 因为答案中没有解释 我无法从谷歌中弄清楚 Thank