我无意间把错误的档案 写错给Git 基特,但还没有将承诺推进到服务器上。
我如何解除那些承诺?当地当地仓库?
我无意间把错误的档案 写错给Git 基特,但还没有将承诺推进到服务器上。
我如何解除那些承诺?当地当地仓库?
当前回答
如何撤销最后的 Git 承诺 ?
为了让一切恢复到上次承诺之前的状态 我们需要重置在总部总部之前的承诺
如果你不想保留你所做的改变:
git reset --hard HEAD^
如果您想要保留您的更改 :
git reset --soft HEAD^
现在检查您的 git 日志。 它会显示我们上次的承诺已被删除 。
其他回答
您可以以两种方式撤销您的 Git 承诺: 首先, 您可以使用git revert
,如果你想保留你的承诺历史:
git revert HEAD~3
git revert <hashcode of commit>
第二,你可以使用git reset
,它会删除你所有的承诺历史, 并带来你的头在你想要的地方。
git reset <hashcode of commit>
git reset HEAD~3
您也可以使用--hard
关键字,如果有的话,我只推荐它,直到它变得非常必要。
使用 git- gui (或类似) 执行git commit --amend
。从 GUI 中,您可以从承诺中添加或删除单个文件。您也可以修改承诺信件。
仅将分支重新设置为上一个位置(例如,使用gitk
或git rebase
) 。然后从保存的副本中重新应用您的更改。在您本地仓库的垃圾回收收集后,它会像没有发生不想要的操作一样。要用一个命令来完成所有这些,请使用git reset HEAD~1
.
警告单词: 粗心使用git reset
我建议基特新手们尽可能避免这样做。
表演a逆向樱桃摘 (git- rever 反转)来撤销更改。
如果你还没有在你的分支上做其他的修改, 你可以简单地做。 。 。
git revert --no-edit HEAD
然后将更新的分支推至共享仓库 。
承诺历史将分别显示两个承诺.
备注:如果有其他人在为分支工作,您不想这样做。
git push --delete (branch_name) ## remove public version of branch
清理你的分行 在当地,然后冲...
git push origin (branch_name)
通常情况下,你可能不必担心你的私人部门 将历史变成原始历史。只是催促后续承诺(见上文“如何撤销公共承诺”),然后,做一个壁球- 合并隐藏历史。
通常情况下,你想要取消对因为您犯了一个错误,所以您想要修正它 基本上就是OP在问问题时所做的。真的,您真的想要复复做a 承诺。
这里的大多数答案都集中在命令行上。 虽然命令行是使用Git的最佳方法, 当你对它感到舒服的时候, 它可能与来自其他版本控制系统到 Git 的人有点不同。
使用 GUI 如何操作。 如果您安装了 Git, 您已经拥有了所有您需要遵守的指示 。
注:我在这里假设您在推动前意识到承诺是错误的。 如果您不知道推力意味着什么, 那么您可能还没有推动。 继续执行指令 。 如果您推动错误承诺, 最危险的方法就是跟踪错误承诺, 并做出新的承诺, 来修补事情, 您在版本控制系统中这样做的方式不允许您重写历史 。
使用图形用户界面来修正你最近的过错:
git gui
我很久以前也曾写过这些话,
基本上,你只需要做:
git log
,获得 SHA hash 的前七个字符,然后做一个git revert <sha>
和继 继 继 继 继 继git push --force
.
您也可以使用 Git 返回命令恢复此命令如下:git revert <sha> -m -1
时和时git push
.
尝试此选项, 硬重置到未添加文件的上一个任务, 然后 :
git reset --hard <commit_hash>
确保您有备份的更改, 以防万一, 因为它是一个困难的重置, 这意味着它们会丢失( 除非您更早隐藏) 。