标签: revert

如何将Git托管项目中的所有本地更改还原到以前的状态?

我有一个项目,我跑了git init.几次提交之后,我做了git status哪些告诉我一切都是最新的,并且没有本地更改.

然后我做了几个连续的更改,并意识到我想把所有东西扔掉,然后回到原来的状态.这个命令会为我做吗?

git reset --hard HEAD
Run Code Online (Sandbox Code Playgroud)

git revert git-checkout

1830
推荐指数
16
解决办法
138万
查看次数

将单个文件还原为git中的先前版本

有没有办法在文件上进行不同的提交.假设我已经修改了一个文件5次,并且在我已经提交并推送到存储库之后我想回到更改2.

在我的理解中,唯一的方法是保留许多分支,我做对了吗?如果我是对的,我会在几天内拥有数百个分支,所以我可能真的不理解它.

有人可以清楚吗?

git revert

585
推荐指数
5
解决办法
47万
查看次数

如何"取消恢复"恢复的Git提交?

鉴于已经提交的更改已经使用commit,然后还原使用revert,那么撤消该恢复的最佳方法是什么?

理想情况下,这应该使用新的提交来完成,以便不重写历史记录.

git undo revert

421
推荐指数
7
解决办法
24万
查看次数

如何恢复SVN提交?

我找到了各种如何恢复SVN提交的例子

svn merge -r [current_version]:[previous_version] [repository_url]
Run Code Online (Sandbox Code Playgroud)

要么

svn merge -c -[R] .
Run Code Online (Sandbox Code Playgroud)

但它们似乎都不起作用.我尝试了这些命令并检查了手动更改的文件.

如何还原修订号为1944的提交?如何检查还原已完成(未查看实际文件中的更改已被还原)?

svn revert

293
推荐指数
7
解决办法
46万
查看次数

删除特定提交

我和一位朋友在一个项目上合作,他编辑了一堆本不应该编辑过的文件.不知怎的,我将他的作品合并到了我的作品中,或者当我拉动它时,或者当我试图选择我想要的特定文件时.我一直在寻找和玩很长一段时间,试图弄清楚如何删除包含对这些文件的编辑的提交,它似乎是revert和rebase之间的折腾,并没有简单的例子,并且docs假设我比我知道的更多.

所以这是问题的简化版本:

鉴于以下情况,如何删除提交2?

$ mkdir git_revert_test && cd git_revert_test

$ git init
Initialized empty Git repository in /Users/josh/deleteme/git_revert_test/.git/

$ echo "line 1" > myfile

$ git add -A

$ git commit -m "commit 1"
[master (root-commit) 8230fa3] commit 1
 1 files changed, 1 insertions(+), 0 deletions(-)
 create mode 100644 myfile

$ echo "line 2" >> myfile

$ git commit -am "commit 2"
[master 342f9bb] commit 2
 1 files changed, 1 insertions(+), 0 deletions(-)

$ echo "line 3" >> myfile

$ …
Run Code Online (Sandbox Code Playgroud)

git commit revert cherry-pick

260
推荐指数
7
解决办法
27万
查看次数

Mercurial - 恢复旧版本并从那里继续

我在本地使用Mercurial进行项目(这是唯一没有推送/拉动其他地方的回购).

到目前为止,它有一个线性历史.然而,我正在研究的当前事情我现在已经意识到这是一种可怕的方法,我想在开始之前回到版本并以不同的方式实现它.

我对Mercurial中的branch/ revert/ update -C命令有点困惑.基本上我想恢复到版本38(目前在45)并让我的下一个提交有38作为父母并从那里继续.我不在乎修改39-45是永远丢失还是最终落入他们自己的死胡同.

我需要哪个命令/命令集?

version-control mercurial branch dvcs revert

248
推荐指数
6
解决办法
16万
查看次数

git status显示修改,git checkout - <file>不会删除它们

我想删除对我的工作副本的所有更改.
运行git status显示修改的文件.
我没做什么似乎删除了这些修改.
例如:

rbellamy@PROMETHEUS /d/Development/rhino-etl (master)
$ git status
# On branch master
# Changed but not updated:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#       modified:   Rhino.Etl.Core/Enumerables/CachingEnumerable.cs
#       modified:   Rhino.Etl.Core/Pipelines/SingleThreadedPipelineExecuter.cs
#       modified:   Rhino.Etl.Tests/Rhino.Etl.Tests.csproj
#       modified:   Rhino.Etl.Tests/SingleThreadedPipelineExecuterTest.cs
#
no changes added to commit (use "git add" and/or "git commit -a")

rbellamy@PROMETHEUS /d/Development/rhino-etl (master)
$ git checkout -- Rhino.Etl.Core/Enumerables/CachingEnumerable.cs

rbellamy@PROMETHEUS …
Run Code Online (Sandbox Code Playgroud)

git revert working-copy git-status

213
推荐指数
9
解决办法
10万
查看次数

Git在某些文件中撤消更改

编码时我将print语句添加到某些文件中以跟踪发生的情况.

当我完成后,是否可以恢复某些文件中的更改,但提交我实际工作的文件?

说我在文件中添加了print A,但是我修改了文件B.B是我想要提交的A,我希望回到原来的状态.

git version-control file undo revert

184
推荐指数
4
解决办法
15万
查看次数

将SVN中的单个文件恢复为特定版本

我有一个如下所示的SVN仓库中的文件,我想恢复到以前的版本.在SVN中执行此操作的方法是什么?我只想将此特定文件降级为旧版本,而不是整个仓库.

谢谢.

$ svn log myfile.py
----------------------
r179 | xx | 2010-05-10

Change 3
----------------------
r175 | xx | 2010-05-08

Change 2
----------------------
r174 | xx | 2010-05-04

Initial
Run Code Online (Sandbox Code Playgroud)

svn revert

172
推荐指数
10
解决办法
23万
查看次数

git恢复到某个提交

如何将本地副本上的所有文件还原为某个提交?

commit 4a155e5b3b4548f5f8139b5210b9bb477fa549de
Author: John Doe <Doe.John.10@gmail.com>
Date:   Thu Jul 21 20:51:38 2011 -0500
Run Code Online (Sandbox Code Playgroud)

这是我想恢复的提交.任何帮助都将成为救星!

git commit revert

162
推荐指数
3
解决办法
24万
查看次数