如何从分支历史记录中删除提交?我应该使用git reset-hard HEAD吗?
当前回答
在我的情况下,我对这只小狗的魔法代码是这样的:
git reset --hard @{u}
测试一下,告诉我。我试过几种不同的方法,但只有这一种对我有帮助。
其他回答
我已经推了。需要远程返回一些提交。尝试了许多变化,但只有Justin via git bush的这句话对我来说很好:
git reset --hard $GIT_COMMIT_HASH_HERE
git push origin HEAD --force
我附上这个答案是因为我不明白为什么任何刚刚尝试提交工作的人都会因为使用Git时出错而想要删除所有工作!
如果您想保留您的工作,只需“撤消”提交命令(在推送到repo之前捕获):
git reset --soft HEAD~1
不要使用--hard标志,除非您希望销毁自上次提交以来正在进行的工作。
为了我,rebase做了这个把戏
$ git rebase -i HEAD~98
# Delete everything except for the most recent commit on the shown editor caused by "rebase"
$ git push origin -f production-static
注:在强制推送以减少我的评论之后。然后我推送了另一组文件,然后在另一台计算机上尝试使用相同的“存储库和分支”。令人惊讶的是,没有冲突。这成为了我减少存储库大小的方法,同时避免了对使用相同git的其他本地用户的拉取冲突
这里我只发布了一条清晰的管道
步骤1:使用gitlog获取提交ID。
git log
步骤2:使用git reset返回到以前的版本:
git reset --hard <your commit id>
git重置--硬HEAD~1你现在将处于前一个位置。拉动树枝。推送新代码。提交将从git中删除
推荐文章
- 为什么我需要显式地推一个新分支?
- 如何撤消最后的git添加?
- Rubymine:如何让Git忽略Rubymine创建的.idea文件
- Gitignore二进制文件,没有扩展名
- Git隐藏错误:Git隐藏弹出并最终与合并冲突
- 了解Git和GitHub的基础知识
- 没有。Git目录的Git克隆
- Git与Mercurial仓库的互操作性
- 忽略git中修改(但未提交)的文件?
- “git restore”命令是什么?“git restore”和“git reset”之间有什么区别?
- Git合并与强制覆盖
- Git拉另一个分支
- 在Bash命令提示符上添加git分支
- 如何更改Git日志日期格式
- git pull -rebase和git pull -ff-only之间的区别