我无意中把错误的文件给了Git, 但还没有把承诺推到服务器上。
我如何从当地存储库撤销这些承诺?
我无意中把错误的文件给了Git, 但还没有把承诺推到服务器上。
我如何从当地存储库撤销这些承诺?
当前回答
如果您只是想要丢弃所有本地更改/ 承诺, 使您的本地分支看起来像您从... 开始的源分支...
git reset --hard origin/branch-name
其他回答
使用此命令 :
git checkout -b old-state number_commit
视觉演播室代码使得这很容易。
调
我想撤销我们共享存储库中最新的五个承诺。 我查了我想回溯到的订正代号 。 然后我输入了下面的内容 。
prompt> git reset --hard 5a7404742c85
HEAD is now at 5a74047 Added one more page to catalogue
prompt> git push origin master --force
Total 0 (delta 0), reused 0 (delta 0)
remote: bb/acl: neoneye is allowed. accepted payload.
To git@bitbucket.org:thecompany/prometheus.git
+ 09a6480...5a74047 master -> master (forced update)
prompt>
只要使用 git 重置 -- hard < last good SHA> 来重置您的更改并给予新的承诺。您也可以使用 git 检查退出 -- < bad filename> 。
git reset --soft HEAD~1
git status
Output
在分支母版上, 您的分支比“ 来源/ 主机” 提前 1 承诺 。 (使用“ 给予推” 来发布您的本地承诺) 更改要执行 : (使用“ 给予恢复 - 级... ” 到 取消阶段) 新文件 : 文件 1 。
git log --oneline --graph
Output
90f8bb1 (HEAD - > master) 第二次承诺\ 7083e29 初始仓库承诺\