问题标签 [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 投票
27 回答
3014371 浏览

git - 如何修改现有的、未推送的提交消息?

我在提交消息中写错了。

如何更改消息?提交尚未推送。

0 投票
17 回答
485032 浏览

git - 如何将修改后的提交推送到远程 Git 存储库?

当我对我的源代码做了一些工作后,我做了我通常的事情提交,然后我推送到一个远程存储库。但后来我注意到我忘记在源代码中组织我的导入。所以我执行了修改命令来替换之前的提交:

不幸的是,提交不能被推回存储库。它被这样拒绝:

我该怎么办?(我可以访问远程存储库。)

0 投票
12 回答
462888 浏览

git - 如何撤消“git commit --amend”而不是“git commit”

我不小心修改了我之前的提交。提交应该是分开的,以保留我对特定文件所做更改的历史记录。

有没有办法撤消最后一次提交?如果我做类似的事情git reset --hard HEAD^,第一次提交也会被撤消。

(我还没有推送到任何远程目录)

0 投票
5 回答
50490 浏览

git - 在 Git 中编辑根提交?

有一些方法可以从以后的提交中更改消息:

如何更改第一个提交(没有父级)的提交消息?

0 投票
1 回答
968 浏览

svn - 如何从 git commit 中删除文件以推送到 svn

我用符号链接替换了一个文件夹及其所有内容。这将在单个 git 提交中删除文件夹并添加符号链接。

Git提交正常发生。但是,当我尝试推送到上游 svn 时,它会抱怨该文件存在。

现在,如何修改我的提交以不包含新符号链接的 git add 并使其成为新提交,以便 SVN 可以理解删除和替换文件夹;或者我可以通过 git amend 使用 svn commit force。

这是我得到的错误:

0 投票
3 回答
615 浏览

git - 用 git 修改旧提交时会发生什么?

我真的不明白如果我检查一个旧的提交,做一些修改,然后使用git commit --amend.

这种变化会自动传播到未来的提交吗?它是如何工作的?

0 投票
2 回答
2006 浏览

ruby - 如何检测 git commit 是否是其他提交的父项?

我正在编写一个脚本,该脚本进行一些微不足道的更改,然后将它们提交给 git。因为这些都是微不足道的更改,所以我想git commit --amend在可以摆脱它的时候做——特别是,当修改不会“弄乱”任何其他分支的历史时。如果修改会弄乱另一个分支,我想做一个标准git commit

例如,如果我的分支看起来像这样(在 Git GUI 中“可视化所有分支历史”):

我在主分支上运行这个脚本,然后我不想做修改,因为我会替换实验分支历史的一部分。从技术上讲,这实际上不会破坏任何东西——原始提交仍将是实验历史的一部分,并且仍将被引用,因此它不会被垃圾收集——但有几乎但不完全相同的提交当我以后想要变基或合并时,两个不同的分支让生活变得困难,所以这是我想避免的情况。

如何让我的脚本自动检测提交是否有任何分支?

如果简化假设有帮助,我总是在 master 的头上运行这个脚本,并且我只使用 git 作为本地存储库——我不会在任何地方推送或拉取更改。

这个脚本是用 Ruby 编写的,所以我可以使用 git 命令行,或者我可以为 git 使用 Ruby 绑定——无论哪种方式都可以使这项任务更容易。

0 投票
4 回答
41519 浏览

git - 意外推送提交:更改 git commit 消息

在我的本地仓库中,我有一个提交信息不正确的提交。

我已经发布了不正确的提交消息git push

现在远程仓库(GitHub 托管)也有错误的提交信息。

我已经尝试过git commit --amend,但发现在这种情况下它对我不起作用,因为我已经做出了额外的提交,因为不正确。

您将如何解决这种情况?

0 投票
4 回答
12702 浏览

git - git:更改文件中的一行以获得完整的历史记录

当我开始我的 git repo 时,我提交了一些文件作为初始提交。现在,在许多提交之后,我注意到我在这些文件中包含了一行我不想发布的信息(与代码的其余部分不同)。所以我想删除/更改这一行保留其余代码。

环顾四周,我找到了这个解决方案:插入一个空提交作为初始提交(在此处描述:在 Git 中的根提交之前插入一个提交?),对其进行变基,然后通过修改编辑旧的第一个提交。不幸的是,在变基期间会出现许多残酷的合并冲突(如此处所述:git:解决由变基引起的冲突)。

有没有不同的方法来解决我的问题,还是必须手动修改和编辑所有冲突?

提前致谢 :)

0 投票
8 回答
90332 浏览

git - Git:如何编辑/改写合并提交的消息?

如何编辑或改写合并提交的消息?

git commit --amend如果它是最后一次提交(HEAD),则有效,但如果它在之前HEAD呢?

git rebase -i HEAD~5没有列出合并提交。