标签: undo

如何撤消Git中最近的提交?

我不小心将错误的文件提交给Git,但我还没有将提交推送到服务器.

如何从本地存储库中撤消这些提交?

git version-control undo pre-commit git-commit

2万
推荐指数
103
解决办法
826万
查看次数

撤消尚未推送的Git合并

在我的主分支中,我做了一个git merge some-other-branch本地,但从未将更改推送到原始主.我不是故意合并,所以我想撤消它.在git status合并后执行操作时,我收到此消息:

# On branch master
# Your branch is ahead of 'origin/master' by 4 commits.
Run Code Online (Sandbox Code Playgroud)

根据我发现的一些说明,我试着跑步

git revert HEAD -m 1
Run Code Online (Sandbox Code Playgroud)

但现在我收到这条消息git status:

# On branch master
# Your branch is ahead of 'origin/master' by 5 commits.
Run Code Online (Sandbox Code Playgroud)

我不希望我的分支通过任何数量的提交领先.我该如何回到那一点?

git undo git-merge

3695
推荐指数
27
解决办法
200万
查看次数

将本地存储库分支重置为远程存储库HEAD

如何将本地分支重置为远程存储库中的分支?

我做了:

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

但当我跑一个git status,

On branch master
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)
      modified:   java/com/mycompany/TestContacts.java
      modified:   java/com/mycompany/TestParser.java
Run Code Online (Sandbox Code Playgroud)

你能告诉我为什么我有这些'修改'?我没有碰过这些文件?如果我这样做,我想删除它们.

git undo

3488
推荐指数
22
解决办法
283万
查看次数

撤消git rebase

有谁知道如何轻松撤消git rebase?

想到的唯一方法是手动进行:

  • git checkout两个分支的提交父级
  • 然后从那里创建一个临时分支
  • 樱桃 - 手工挑选所有提交
  • 用手动创建的分支替换我重新定位的分支

在我目前的情况下,这是可行的,因为我可以很容易地发现两个分支的提交(一个是我的东西,另一个是我的同事的东西).

然而,我的方法让我感到不理想和容易出错(假设我刚刚用自己的2个分支重新定位).

有任何想法吗?

澄清:我正在谈论一个rebase,在此期间重播了一堆提交.不仅仅是一个.

git undo rebase git-rebase

2965
推荐指数
15
解决办法
92万
查看次数

在Git中撤消一个文件的工作副本修改?

在最后一次提交之后,我在工作副本中修改了一堆文件,但我想撤消对其中一个文件的更改,就像将其重置为与最近提交的状态相同.

但是,我只想撤消单独一个文件的工作副本更改,而不是其它任何内容.

我怎么做?

git version-control dvcs file undo

1550
推荐指数
11
解决办法
60万
查看次数

如何撤消"git commit --amend"而不是"git commit"

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

有没有办法撤消最后一次提交?如果我这样做git reset --hard HEAD^,第一次提交也会撤消.

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

git commit undo git-amend

1198
推荐指数
10
解决办法
28万
查看次数

我可以删除git提交但保留更改

在我的一个开发分支中,我对我的代码库进行了一些更改.在我能够完成我正在处理的功能之前,我不得不将当前分支切换到master来演示一些功能.但只是使用"git checkout master"保留了我在开发分支中所做的更改,从而破坏了master中的一些功能.所以我所做的是使用提交消息"临时提交"在我的开发分支上提交更改,然后为演示提供checkout master.

现在我已完成演示并重新开始在我的开发分支上工作,我想删除我所做的"临时提交",同时仍然保留我所做的更改.那可能吗?

git undo git-reset

915
推荐指数
8
解决办法
35万
查看次数

如何解除我在Git中的最后一次提交

我如何取消承诺我在git中的最后一次提交?

是吗

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

要么

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

git undo git-reset git-index

819
推荐指数
8
解决办法
75万
查看次数

git撤消所有未提交或未保存的更改

我试图撤消自上次提交以来的所有更改.我试着git reset --hardgit reset --hard HEAD观察后,这个职位.我用头响应现在是18c3773 ...但是当我查看我的本地源时,所有文件仍然存在.我错过了什么?

git command-line undo git-reset

759
推荐指数
13
解决办法
59万
查看次数

如何在Vim中进行重做(即"撤消撤消")?

在Vim中,我做了太多的撤消.如何撤消此操作(即重做)?

vim undo redo

673
推荐指数
8
解决办法
29万
查看次数