问题标签 [git-amend]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
4347 浏览

git - 当我改写最后一条提交消息时,为什么 git 称我为“聪明”?

我经常跑步

改写我所做的最新提交的提交消息。无论我的工作目录是否干净,这都会起作用。

今天我注意到在执行此操作时,我显示的编写提交消息的默认说明core.editor包括以下注释:

除了有一点复活节彩蛋的魅力之外,这条消息应该告诉我什么?这是一种讽刺的方式,说在弄乱以前的提交时我应该小心(尤其是如果存在分阶段/非分阶段的更改)?为什么即使我的工作目录是干净的,它也会出现?

0 投票
1 回答
191 浏览

git - 如何更改 Github 上显示的提交消息?

我将带有一个已更改文件的提交推送到 Github。这是第一次(也是唯一一次)提交到这个 repo,它是从另一个用户分叉的。然后我使用更改了提交消息

当我查看 Github 上的主 repo 页面时,修改后的消息显示在文件列表上方,但文件名旁边显示的消息是原始提交消息。有没有办法强制修改后的消息显示在文件名旁边?

0 投票
1 回答
161 浏览

git - 带有字母 # 的 Git 提交消息

我有一个小问题。在我们公司,我们有一个协议,即与错误跟踪器中的某些问题相关的所有提交都应该以#<issue_number>(例如,#8956)开头。但是 git 在使用编辑器编写消息时会忽略所有以字母“#”开头的行。如果我使用git commit -m '#<issue_number> <Message>'没有问题。但我想在不使用-m标志的情况下修改提交并编辑它的消息。#那么有没有办法让 git在使用编辑器编写提交消息时不忽略以开头的行?

0 投票
3 回答
18916 浏览

git - 即使我不做任何更改,为什么 git commit --amend 也会更改哈希?

为什么即使我在运行后没有对提交(消息、文件)进行任何更改,我最新提交的 SHA-1 哈希也会更改git commit --amend

假设我在命令行运行以下命令。

然后,调用

打印以下消息:

然后我做

但我改变了主意,决定在最后一次提交中不更改任何内容。换句话说,我保持上次提交的文件、目录和消息保持不变(我只是保存消息文件并关闭我的编辑器)。

然后,我做

再一次,我看到提交的哈希值发生了变化:

是什么导致哈希发生变化?它与提交的时间戳有关吗?

0 投票
1 回答
111 浏览

git - 修改了推送提交 - 如何在没有强制的情况下恢复同步?

我修改了一个推送的提交。现在无法推送到 git repo。

我不想用-f钥匙按,因为这会给其他人带来很多问题。

目前我只看到一个解决方案:

  1. git 克隆
  2. 从备份副本中写入更改的文件
  3. 做出新的承诺
  4. 推它

你知道更好的方法吗?

0 投票
1 回答
730 浏览

git - EGit 在“修改以前的提交”删除推送代码后又回来了

我有以下 Git 日志:

Git 日志

我已经使用 EGit “修改以前的提交”功能来更改提交的提交消息,其中包含消息“删除未使用的函数 addSubinterval before”,我已经推送到 Git 服务器以“删除未使用的函数 addSubinterval”

之后我意识到我的文件中有代码,我已经删除并推送到服务器。提交时带有消息:“删除未使用的函数 setDocumentTextAndInfoColor()”。我不知道这次提交的唯一内容是否回来了。

我检查了提交信息:"Delete "nextrefid" and "nextrefid_nr" for follow-on..."。该提交未在我的本地文件中恢复。

这是“修改先前提交”的理想行为吗?

我想这是一个错误,但也许我错过了什么?

0 投票
3 回答
1124 浏览

git - Git 修改/改写(不添加/更改文件)

通常我想编辑提交消息,而不必从上次提交中重新选择文件集。

提交消息中的意外拼写错误。

这可行,但我不想从原始提交中重新选择文件集,我曾经不小心做了git commit -a --amend并无意中添加了许多更改。

我知道git rebase -i HEAD~1然后pickr(re-word)替换,但这最终只是几个步骤。

有没有办法在不包含任何新文件的情况下一步重新提交最后一次提交?

0 投票
1 回答
3130 浏览

git - 'git commit --amend' 处于分离 HEAD 状态

我知道修改旧 Git 提交的正确方法是使用rebase --interactive,但只是为了弄清概念,我想了解当我这样做时会发生什么

  • git checkout <commit>
  • 更改文件中的某些内容
  • 将更改的文件添加到索引
  • 接着git commit . --amend

当我这样做时,它不是修改提交,而是从同一个提交的父级分支一个新的提交。

这只是 Git 告诉我我不能修改已经有子提交的提交的方式吗?

0 投票
3 回答
12239 浏览

git - git commit --amend 究竟是如何工作的?

我已经看到'git commit --amend' 处于分离的 HEAD 状态。这个问题要求答案比需要的更复杂。

我想了解git commit --amend在正常的 HEAD 情况下是如何工作的。

0 投票
1 回答
598 浏览

git - git:如何刷新不在顶部的提交

在我的工作分支中,我有三个依赖补丁。他们都没有合并。

如何添加新的更改<Commit id -2>

目前这是我的做法。

这工作没有任何问题。但是有没有更好的方法可以将暂存文件提交给我想要的任何提交?