我无意间把错误的档案 写错给Git 基特,但还没有将承诺推进到服务器上。
我如何解除那些承诺?当地当地仓库?
我无意间把错误的档案 写错给Git 基特,但还没有将承诺推进到服务器上。
我如何解除那些承诺?当地当地仓库?
当前回答
先决条件:当修改您存储库中的现有文件时,该修改最初被视为未阶段。为了实施修改,需要分阶段进行,这意味着使用索引
git add
。在一次任务操作中,被筛选的文件会被添加到索引中。
让我们举一个例子:
- A - B - C (master)
HEAD
点点到C
与索引匹配C
.
git reset --soft B
有意并打算删除承诺 C和将主控/ HEAD 指向 B. git status
您可以看到索引中的文件承诺 C计为阶段d. git commit
到此点将创建新承诺与C相同的变化git reset --mixed B
. git add
然后如往常地实践。git reset --hard B
希望这种对可供使用的旗帜的比较git reset
命令会帮助某人明智地使用它们。请参考这些以获取更多细节链接1 & 链接2
其他回答
如果您想要永久撤销它, 您克隆了一些仓库 。
犯罪身份可通过以下方式识别:
git log
然后你们可以做:
git reset --hard <commit_id>
git push origin <branch_name> -f
如何撤销最后的 Git 承诺 ?
为了让一切恢复到上次承诺之前的状态 我们需要重置在总部总部之前的承诺
如果你不想保留你所做的改变:
git reset --hard HEAD^
如果您想要保留您的更改 :
git reset --soft HEAD^
现在检查您的 git 日志。 它会显示我们上次的承诺已被删除 。
使用 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)
通常情况下,你可能不必担心你的私人部门 将历史变成原始历史。只是催促后续承诺(见上文“如何撤销公共承诺”),然后,做一个壁球- 合并隐藏历史。
git reset --soft HEAD~1
重置将会将您当前的 HEAD 分支倒带到指定的修订版 。
Note排--soft
旗帜 : 这样可以确保未撤销修改中的更改被保存。 在运行命令后, 您会发现这些更改是您工作副本中未承诺的本地修改 。
如果您不想保留这些修改,只需使用--hard
。确保只在确定不再需要这些更改时才这样做。
git reset --hard HEAD~1
撤消多个提交文件
git reset --hard 0ad5a7a6
但是,记住,使用重置命令可以解除所有在你返回后的承诺:
“ 将工作树重置为最后一次承诺 ”
git reset --hard HEAD^
"清除工作树上的未知文件"
git clean
见 -Git 快速参考
注:此命令将删除您上一个任务所以要谨慎使用!git reset --hard
更安全。