我做了一件非常愚蠢的事情。 我使用git commit(文件编辑+新文件)(C)做了一个提交。 然后我做了最后的修改。 然后我使用git rm -rrecursion删除所有文件(!)然后我做了另一个git commit(C)。 ABC ↑ 主 有没有什么方法来取消删除文件,但保持我在第一次提交的变化? (C)我宁愿不回(B)。 我试过git reset –soft head ^,所以然后git status列出了我删除的文件,然后我做了git checkout,但还是没有运气。 我甚至不知道是否有可能。
Vim 7.3中的新特性之一是“持久性撤消”,它允许在退出缓冲区时将无动词保存到文件中。 不幸的是,我还没有完全启用它,或者我必须错误地使用它。 以下是我迄今为止所尝试的: 我将以下内容添加到〜/ .vimrc中 set undofile " Save undos after file closes set undodir=$HOME/.vim/undo " where to save undo histories set undolevels=1000 " How many undos set undoreload=10000 " number of lines to save for undo 之后,我应该能够打开任何文件,编辑它,然后保存 – closures它,当我再次打开它时,我应该能够撤销/重做,就像我永远不会离开。 不幸的是,这似乎并不是这样,因为从来没有任何不妥之处。 笔记: 我在Win 7上使用Vim 7.3而不是使用Vim项目。 持久性撤消是被烘烤的。 $ HOME / .vim / undo存在于我的文件系统上
我试图撤消自上次提交以来所做的所有更改。 我试过git reset –hard and git reset –hard HEAD在查看这篇文章后 。 我现在回应的头是18c3773 …但是当我看到我的本地源时,所有的文件仍然存在。 我错过了什么?
我怎么能取消我最后一次提交git? 是吗 git reset –hard HEAD 要么 git reset –hard HEAD^
我正在努力恢复我的工作。 我愚蠢地做了git reset –hard ,但在此之前我只做了get add . 并没有做git commit 。 请帮忙! 这是我的日志: MacBookPro:api user$ git status # On branch master # Changes to be committed: # (use "git reset HEAD <file>…" to unstage) # modified: .gitignore … MacBookPro:api user$ git reset –hard HEAD is now at ff546fa added new strucuture for api 是否有可能撤销git reset –hard在这种情况下?
有谁知道如何轻松撤消git rebase? 想到的唯一方法是手动进行: git签出两个分支的提交父 然后从那里创build一个临时分支 手工挑选所有的承诺 replace我通过手动创build的分支重新分配的分支 在我目前的情况下,这是可行的,因为我可以很容易地发现来自两个分支(一个是我的东西,另一个是我的同事的东西)的承诺。 但是,我的方法让我觉得不够理想,容易出错(假设我刚刚在自己的分支机构中重新组build了两个分支机构)。 有任何想法吗? 澄清:我正在谈论重新发布一堆提交重新发布。 不只是一个。
在我的主分支中,我做了一个git merge some-other-branch在本地git merge some-other-branch ,但从未将更改推送到原始主。 我不是想要合并,所以我想撤销它。 当我合并后做一个git status ,我得到这个消息: # On branch master # Your branch is ahead of 'origin/master' by 4 commits. 根据我发现的一些指示 ,我试着跑步 git revert HEAD -m 1 但现在我得到这个消息与git status : # On branch master # Your branch is ahead of 'origin/master' by 5 commits. 我不希望我的分支在任何次数的提交之前。 我该如何回到这一点?