我当时在当地的回购公司。阶段+提交,而不是推送到服务器。主提交现在是4e4f27c554ee42e5fb7a0b62b6d921cbd05819c9。
我犯了个错误!哈..。
我想返回到以前的提交,返回到5e814650f03d04e56fcb069000f77123c1b5273b,在中,公共e本地回购。
我该怎么做呢?尝试过git push origin +5e814650f03d04e56fcb069000f77123c1b5273b:master,但是在本地回购中,我仍然可以在传出提交窗口(Visual工具)中看到错误的提交,并且我不知道如何删除它。
最好的办法是什么?
发布于 2018-06-27 10:34:48
您可以根据需要使用git revert或git reset:-
git revert <commit_ID> -还原提交不会被删除。相反,Git创建一个新提交,其中包含的文件恢复到以前的状态。因此,您的版本控制历史向前移动,而您的文件的状态向后移动。git reset --hard <commit_ID> - Git丢弃回购的当前状态和目标提交之间的任何提交。然后,分支似乎会在将头重置到的提交时停止。虽然提交似乎不再是分支历史的一部分,但它们不会被删除。它们还保存在吉特。然后,将您的更改推送到remote (假设您的分支在这里和远程上都被称为主人,并且您的远程被称为原始):-
# note this will hard reset your commit
git reset --hard <commit-hash>
# pushing changes to remote
git push -f origin masterhttps://stackoverflow.com/questions/51060337
复制相似问题