标签: revert

Git:如何将所有内容完全恢复到先前提交的状态?

如果自早期提交以来有提交和许多更改,是否有一种简单的方法可以将所有内容恢复到之前提交的确切状态?

如果是这样,如果我也愿意,是否可以轻松切换回当前状态?

我已经意识到这个旧提交实际上是正确的,并且希望保留所有更改,仅用于参考,但所有未来的工作都将基于这个旧提交.

git revert

5
推荐指数
1
解决办法
1544
查看次数

我无法在文件冲突时还原文件.混帐

这就是我所做的:

  • 创建文件夹testA
  • 用它的内容"a"创建一个文件"a.txt"
  • Git init进入testA文件夹
  • git add.
  • git commit -a -m"first"
  • 将文件的"a.txt"内容更改为"b"
  • git add.
  • git commit -a -m"改为b"
  • git log(获取"first"的提交id)
  • git revert a90deafe08c9f8f0d7b94d3d74d40be2bd65b161

我进入控制台:

error: could not revert a90deaf... first
hint: after resolving the conflicts, mark the
hint: with 'git add <paths>' or 'git rm <paths
hint: and commit the result with 'git commit'
Run Code Online (Sandbox Code Playgroud)

好吧,我想让所有文件处于上一次提交的状态,我应该知道什么?

更新 我想要的:

  • 我想保持"更改为b"提交并拥有与"第一次"提交完全相同的第三个提交.我永远不想丢失任何文件.
  • 使用二进制文件(参见下一点)
  • 我不关心二进制文件是如何管理的,只要我能在提交状态下使用它们,因此在这种情况下不需要合并.我只是想要更简单的东西:将文件A从提交X替换为提交Y,没有需要合并的并发症.

git revert

5
推荐指数
1
解决办法
6979
查看次数

如何仅恢复特定文件中的特定行?

假设在几次提交之前我删除了一堆代码,现在我想要恢复其中的一些代码。

一段时间以来,我一直在使用SourceTree,它允许您简单地选择想要从早期提交中恢复的行,然后选择“恢复所选行”(或类似的操作)。现在我在 Linux 中工作,找不到具有任何此类功能的 GUI;所以我想知道如何从命令行实现这一目标。

我想到的第一个选项是恢复整个提交,然后将其修改为仅包含我想要恢复的代码。有更简单/更好的方法吗?

linux git revert

5
推荐指数
1
解决办法
7390
查看次数

将 git repo 恢复到之前的提交

我有一个 git 问题。我在本地主机上进行开发,将更改推送到我的存储库,然后拉到我的实时站点。我最近在本地主机上构建了一个页面,运行良好。然后我推送到我的存储库并拉到实时站点。由于某种原因,这些更改破坏了我的实时网站。出于示例目的,以下是损坏的提交和工作提交的哈希值:

ABCDE '此提交适用于本地主机和实时站点'
ZYXWV '此提交适用于本地主机,但不适用于实时站点'

因此,我在本地主机上提交了 ZYXWV 并将其推送到存储库。然后我将 ZYXWV 拉到我的实时网站,结果破坏了它。为了修复我的实时网站,我执行了以下操作:

git checkout ABCDE git checkout ABCDE

所以,现在我的实时网站正在运行。唯一的问题是我的实时站点与我的存储库不同步,这意味着我无法在不获取损坏代码的情况下进行任何更改。我不需要损坏的代码,如果它被删除也没关系。我只需要一种方法让存储库再次与 ABCDE 同步。

我希望这是有道理的。我不太擅长 git。感谢您的帮助。

git repository revert reset git-checkout

5
推荐指数
1
解决办法
3221
查看次数

如何在mercurial中撤消恢复

我不小心添加了几个文件后

hg add
Run Code Online (Sandbox Code Playgroud)

我想用它来回复

hg revert --all
Run Code Online (Sandbox Code Playgroud)

不幸的是,我没有做出我预期的改变,所以他们也被还原了.我可以收回那些内容吗?

mercurial revert

5
推荐指数
1
解决办法
8371
查看次数

Eclipse会在按键时将所有更改还原为文件,撤消不可能?

不知怎的,我只是在eclipse(android开发)中按下了一些键或键组合,eclipse突然恢复了我正在处理的文件的先前版本.CTRL Z/Y无济于事.我是否必须再次对文件进行所有更改!

我可以做些什么?我不希望这种情况再发生.我怎么可能继续使用eclipse知道这可能会在某个时候再次发生.

谢谢,

eclipse file undo save revert

5
推荐指数
1
解决办法
7848
查看次数

Git 恢复未按预期工作

我在执行命令时遇到问题git revert。我使用 Ubuntu 12.04 Linux 和 Git 版本 1.7.9.5。

  1. b_test_repo我在本地 PC 上创建了一个全新的,并从远程跟踪它origin b_test_repo
  2. 我在本地创建了一个A包含两行文本的单个文件(commit),并仅在本地master分支中成功提交了它。

为了进行尝试,git revert我又生成了 3 个提交,每个提交都添加了一行文本。所以我的master提交历史如下所示:

A - B - C - D
Run Code Online (Sandbox Code Playgroud)

在哪里

  • A- 包含第 1 行和第 2 行的新文件
  • B- 添加了一行
  • C- 添加了一行
  • D- 添加了一行

在所有这些提交之后,文件包含 5 行:

line1
line2
line3
line4
line5
Run Code Online (Sandbox Code Playgroud)

然后,我想恢复 commit B,这将渲染没有 的文件line3,该文件是由 commit 添加的B

git status
# On branch master …
Run Code Online (Sandbox Code Playgroud)

git revert

5
推荐指数
1
解决办法
5051
查看次数

SVN 似乎没有恢复更改

我从一个 repo 中提取,对多个文件进行了更改,现在我想撤消它们。

我试过了svn revert -R .svn revert --depth infinity .但是当我打电话时svn status,我仍然看到所有文件都被标记为已修改,而且它们似乎与我尝试恢复之前的一样。

我在关于恢复更改的文档中看到了这个讨论,但它似乎处理从一个提交到另一个提交,而不是撤消所有未提交的更改。

(我无权访问 TortoiseSVN。)

我不能给你一个确切的状态命令转储,但它看起来有点像这样:

>>svn status
?    dir/
?    dir/
X    dir/
?    dir/

Performing status on external item at [dir]
M    file

Performing status on external item at [dir]
?    dir/
?    dir/
?    file
?    file
X    dir/
Run Code Online (Sandbox Code Playgroud)

svn revert

5
推荐指数
1
解决办法
523
查看次数

如何在GitHub中撤消合并

我一直在PhpStorm的专用分支上工作,但是当推送到github时,我无意中合并到了master分支。

如何在github和本地撤消合并?github master用于将代码迁移到各种服务器,因此我需要在合并之前回滚到先前的提交,而不是在撤消更改的情况下创建新的提交。

github revert

5
推荐指数
2
解决办法
1万
查看次数

如何从github历史记录中的文件中删除敏感数据

我正在使用一个共享的 github 存储库来协作一个项目。因为我是个白痴,所以我提交并推送了一个包含我不想共享的密码的脚本文件(是的,我可以更改密码,但无论如何我想删除它!)。

有没有办法从github的历史记录中恢复提交,在本地删除密码,然后重新提交并推送更新的文件?我不想完全删除文件,也不想丢失 github 上的提交历史记录。

(这个问题 如何从 git 存储库中完全删除文件? 显示了如何删除敏感文件,但没有显示如何从文件中编辑敏感数据,所以这不是重复的)

git github revert

5
推荐指数
2
解决办法
2397
查看次数

标签 统计

revert ×10

git ×6

github ×2

eclipse ×1

file ×1

git-checkout ×1

linux ×1

mercurial ×1

repository ×1

reset ×1

save ×1

svn ×1

undo ×1