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

git - 如何在提交之前撤消“git add”?

我错误地使用以下命令将文件添加到 Git:

我还没跑git commit。有没有办法撤消这个,所以这些文件不会包含在提交中?

0 投票
4 回答
30109 浏览

git - 撤消 git 中的更改(不重写历史记录)

我对脚本进行了更改并提交了它。然后我做了一些其他的更改,并将它们推送到远程存储库等。

然后我意识到我提到的第一个更改是愚蠢的,并且想要撤消它。我可以“取消应用”该提交,而无需手动复制/粘贴差异吗?

例如:我有两个文件,a.py并且b.py

我可以撤消该功能删除,并使其显示为“提交 4”(而不是删除提交 1)

0 投票
8 回答
139084 浏览

git - 在 Git 中重新进行还原合并

我在这里遇到了一些问题:我28s在 Git 中有一个特定于问题的分支,我将它合并到了一般develop分支中。原来我做得太快了,所以我使用 git-revert 撤消合并。然而,现在是合并28s到的时候了develop,但是 git-merge 命令看到了原来的合并,并高兴地宣布一切都很好,分支已经合并了。现在我该怎么做?创建一个'Revert "Revert "28s -> develop""' 提交?似乎不是一个好方法,但我现在无法想象其他任何方法。

树结构是什么样子的:

Git 日志输出

0 投票
16 回答
794251 浏览

git - 如何恢复多个 git 提交?

我有一个如下所示的 git 存储库:

我想让分支的头指向A,即我想让B、C、D和HEAD消失,我想让head成为A的同义词。

听起来我可以尝试重新设置基准(不适用,因为我已经在两者之间推送了更改),或者恢复。但是我如何恢复多个提交?我要一次恢复一个吗?顺序重要吗?

0 投票
11 回答
1071521 浏览

git - 回滚到公共仓库中的旧 Git 提交

我怎样才能回滚到git中的特定提交?

有人可以给我的最佳答案是使用git revertX 次,直到我达到所需的提交。

因此,假设我想恢复到 20 次提交的旧提交,我必须运行 20 次。

有没有更简单的方法来做到这一点?

我不能使用重置,因为这个存储库是公开的。

0 投票
4 回答
41753 浏览

git - 撤消 git pull --rebase

嘿,我是 git 新手,我需要撤消拉动,有人可以帮忙吗?!?所以我所做的是...

  1. git 提交
  2. 混帐藏匿
  3. git pull --rebase
  4. git stash 弹出

这造成了一堆冲突并且出了点问题。现在做 'git stash list' 表明我的藏匿处仍然存在。是否可以在执行 git commit 之后将我的 repo 恢复到原点。如此有效地,我的回购只包含我所做的更改,而服务器没有任何新内容?

0 投票
4 回答
439196 浏览

git - 撤消 Git 中已推送到远程仓库的特定提交

撤消特定提交的最简单方法是:

  • 不在头部或头部
  • 已被推送到远程。

因为如果不是最新的提交,

不起作用。而且因为它已经被推送到远程,

会导致遥控器出现一些问题。

更何况,我真的不想修改历史。如果有错误的代码,它就存在于历史中并且可以看到。我只是想把它放在工作副本中,我不介意反向合并提交。

换句话说,以下 svn 命令的Git等价物是什么:

它通过反向合并这些修订中的所有更改作为新提交来删除从 295 到 302 的所有更改。

这会撤消 302 提交,当然是通过添加另一个提交来反向合并来自相应提交的更改。

我认为这应该是 Git 中一个相当简单的操作和一个相当常见的用例。原子提交还有什么意义?

我们有 staging stash和所有以确保提交是完全原子的,您不应该能够轻松撤消这些原子提交中的一个或多个吗?

0 投票
1 回答
1502 浏览

directory - git如何恢复到特定版本

我有一个 git 项目。我刚刚提交,然后我删除了一些目录。操作,我的坏。现在我想恢复那些我已经删除的目录。我怎么做?

0 投票
3 回答
19838 浏览

git - Git:合并后如何重置?

我已将朋友存储库中的主分支合并到我的工作目录到 branch_a 中,使用:

我发现合并后的版本有错误。为了继续开发,我想恢复到合并前的最后一次提交。
我试过了:

但这使我在合并后立即回到了该州。(是否拉命令提交?!)
我也试过:

但收到以下错误:

致命:提交 2d72d8f367b987d8c16f5cb1a543a6886acdcf83 是一个合并,但没有给出 -m 选项。

我应该怎么办?

0 投票
1 回答
216 浏览

git - 如果当前位于子目录下,是否需要在 GIT 中取消暂存文件的完整路径?

回购:合并测试

$密码

/gitvobs/mergetest/苹果

$git 状态

在分支 br1

已更改但未更新:

(使用“git add ...”来更新将要提交的内容)

(使用“git checkout -- ...”丢弃工作目录中的更改)

$git checkout 里面

错误:pathspec 'inside' 与 git 已知的任何文件都不匹配。

$git checkout apple/inside完美运行

所以每次,当我在子目录中时,我是否需要指定文件的完整路径以取消暂存更改?

add 不是这种情况(我可以在任何地方使用 'git add file-name' 添加文件)

这是 GIT 的行为方式还是在其他版本的 GIT 中发生了变化?

我正在使用 git 版本 1.6.6

谢谢