我不小心将错误的文件提交给Git,但我还没有将提交推送到服务器.
如何从本地存储库中撤消这些提交?
如何从当前状态恢复为在某个提交时创建的快照?
如果我这样做git log,那么我得到以下输出:
$ git log
commit a867b4af366350be2e7c21b8de9cc6504678a61b`
Author: Me <me@me.com>
Date: Thu Nov 4 18:59:41 2010 -0400
blah blah blah...
commit 25eee4caef46ae64aa08e8ab3f988bc917ee1ce4
Author: Me <me@me.com>
Date: Thu Nov 4 05:13:39 2010 -0400
more blah blah blah...
commit 0766c053c0ea2035e90f504928f8df3c9363b8bd
Author: Me <me@me.com>
Date: Thu Nov 4 00:55:06 2010 -0400
And yet more blah blah...
commit 0d1d7fc32e5a947fbd92ee598033d85bfc445a50
Author: Me <me@me.com>
Date: Wed Nov 3 23:56:08 2010 -0400
Yep, more blah blah.
Run Code Online (Sandbox Code Playgroud)
如何从11月3日恢复提交,即提交0d1d7fc?
我想知道如何删除提交.
通过delete,我的意思是,如果我没有做那个承诺,当我将来做一推,我所做的更改不会推到远程分支.
我读了git help,我认为我应该使用的命令是git reset --hard HEAD.它是否正确?
当地分公司: -
'特征/ 100'
和远程分支机构: -
'主'
"版本2"
意外,
但实际上' feature/100 '应该已合并到远程分支' Version2 '
我如何修复它(部分): -
我已将功能分支' feature/100 ' 合并到远程分支' Version2 '并将其推送到服务器.
git checkout Version2
git merge --squash feature/100
git add .
git commit -m 'New message'
Run Code Online (Sandbox Code Playgroud)
但我想删除我已合并并提交到主分支的最后一次推送.怎么样?
Side Note我只是一个正在研究这个项目的人.所以即使推送提交被删除也不会伤害任何其他人
git ×4
git-reset ×2
git-checkout ×1
git-commit ×1
git-rebase ×1
git-revert ×1
pre-commit ×1
undo ×1