问题标签 [git-revert]

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 回答
56084 浏览

git - Git 还原失败

我做了几次提交(commit1/2/3),我改变了我的工作目录而没有隐藏。然后我想回到几个提交前。所以我 git revert commit1 commit2 commit3,但我被告知要提交我的更改(commit4),所以我这样做了,然后我再次 git revert commit1 commit2 commit3 commit4,但我有一条消息

错误:cherry-pick 或 revert 已经在进行中提示:尝试“git cherry-pick (--continue | --quit | --abort)”

当我运行 git branch -va 时,HEAD 指向提交 3。

我不太明白发生了什么。我现在应该怎么做才能使事情恢复原状?

0 投票
1 回答
41 浏览

git - 修改提交以恢复对单个文件所做的修改的最简单方法是什么?

目前,当我必须这样做时,以下是我遵循的步骤:

  • 恢复提交(当然不创建新的提交)
  • 重置“还原”引入的所有修改,除了我想要还原的文件之一
  • 暂存我要恢复的文件的反转并修改最后一次提交

有没有更直接的方法来做到这一点?

0 投票
3 回答
338 浏览

git - 这是撤消 git 东西的好策略吗?

到现在为止,如果我曾经提交并将错误推送到主分支,我的解决方法是,假设 git 日志看起来像

我过去“解决”这种情况的方式是:

是的,这会起作用......但看起来不是很优雅,因为它有效地删除了提交历史。

因此,在破坏了我的自我的情况之后,我检查了更好的方法,并提出了 git revert 方法,基本上我现在使用

git revert 将创建三个提交(每个恢复的哈希一个),之后,需要推送来更新远程。

现在,问题是,这种策略是否正确?对我来说看起来比重置要好得多——硬,因为回购的历史没有被中继,如果最终有人想检查为什么会出现问题,他们总是可以做一个

这个推理是正确的还是我仍然缺少基本概念。

谢谢

0 投票
3 回答
5061 浏览

git - 如何恢复使用策略=我们的合并?

我正在使用几周前执行合并的存储库,我们刚刚发现使用了该--strategy=ours标志(它应该使用 --strategy-option=ours 标志),因此没有对 HEAD 应用任何更改。但是,我们需要应用更改。Git 已经将分支识别为已合并,并且分支历史记录中的提交。

这种合并无法使用git revert -m ...

恢复和/或重新应用合并以更改文件的正确方法是什么?

在这种情况下,合并提交(F)将是罪魁祸首。

0 投票
1 回答
245 浏览

git - EGit 垃圾邮件带有类型更改的 git 存储库

我在带有 git 版本 1.8.0.1 的 Suse 11.0 上使用 Eclipse Egit。埃吉特:2.1.0

当我在 Egit 中从 gerrit 克隆存储库时,我在 />git status
...
typechange: src/TestPorts/TELNET/XXX.xxx
...

并使用 less 命令查看文件内容:

../../../TestPorts/TELNET/XXX.xxx ~
~
~
~
~
~
~

因此,当我使用 git reset --hard 恢复这些更改时,我会在 Egit 中获得未分阶段的更改。未暂存的文件与 git status 中的文件相同。当我用 Eclipse 恢复这些文件时,问题又在 git 中开始了。

有这方面的经验吗?谢谢

0 投票
1 回答
419 浏览

git - 正确还原提交到原点的 git merge

我的分支的历史如下:

在此处输入图像描述

现在我想恢复与分支 558 的合并。我有它的 sha 代码,所以我正在做:

git revert -m 1 1784adf300f43fb76391e92f80be01132eddb680

结果是:

[master d51e2b3] Revert "Merge branch '558'" 1 files changed, 15 insertions(+), 29 deletions(-)

此时,当我尝试将我的恢复推送回原点时,我看到只有来自合并558分支的最后一次提交被恢复(以及在合并中超过 1 个文件受到影响)。如何从合并的分支中恢复所有提交,或者我在这里做错了什么。

0 投票
2 回答
14092 浏览

git - 我如何摆脱解决 git 冲突的尝试

我检查了 'production_branch' 然后合并了 'master_branch for_production_branch' 存在大量冲突。'production_branch' 已部署到生产环境。但冲突需要更有经验的眼睛。我需要在生产分支“production_branch”上获得一个关键补丁(我将手动完成),以便我可以部署。

我怎样才能回到我的工作目录中的“production_branch”,以便部署一个简单的关键修复。

0 投票
1 回答
65 浏览

git - 一个文件的 git checkout 的行为是什么?

如果 x 和 y 是你的文件,并且你做了一些这样的提交:

如果你这样做了:

你会得到xx+1吗?

0 投票
1 回答
88 浏览

iphone - git Repository:以前的文件版本可以在 Xcode 之外访问吗

通过为我的 iPhone 应用程序设置 git 存储库,有没有办法访问 XCode 之外文件的最后提交版本?我可以在硬盘驱动器的某个地方找到以前的版本,或者以某种方式将文件拼凑在一起吗?该文件的当前版本现在已损坏(如果有兴趣,请参阅下面的故事以了解这是如何发生的),我非常想检索自上次能够在 git 之外备份文件以来所做的更改。我无法访问 XCode 中的任何内容或在 Mac 上运行通过 Max OS X 安装程序可用的任何内容之外的任何内容,因此如果可能的话,我想访问该文件的先前版本。

在最近 6 小时的飞行中,我在飞机上带着我的 MAC,在此期间对 git 进行了大约 2 次更改。MAC 上一切正常,直到我们不得不在飞行结束时关闭所有电子设备。当时,我告诉 MAC 关机,但它反而冻结了。为了避免发生航空公司事故,我在等待一分钟后按住电源按钮强制关闭计算机。

那天晚上晚些时候,当我打开电脑时,它不再启动,而是冻结在 Apple 标志和旋转齿轮上。我使用我的安装磁盘绕过登录并访问了磁盘工具,它继续修复我的驱动器失败。硬盘驱动器仍然挂载,所以我可以进入我的文件。我访问了我的应用程序所需的绝对必要的文件,当我在我的 Windows 机器上打开它时,它包含了垃圾。当然,大多数其他文件都很好:-/

所以,我仍在尝试修复我愚蠢的 MAC,但在继续并可能需要擦除驱动器之前,我正在尝试获取所有我能获取的文件,因此非常感谢任何帮助。

0 投票
3 回答
12482 浏览

git - 如何在git中恢复对特定类型文件的未提交更改

我的 git 存储库中有一堆修改过的文件,其中很多是 xml 文件。如何仅还原 xml 文件的更改(重置修改)?