我是GIT的新手,并且认为我可以创建一个简单的测试提交/推送。在这个过程中,我最终看到附图中显示的一团糟。
问题是,我需要调用哪些GIT命令来删除红色箭头上方的所有内容,并将原点/主文件保留在红色箭头所在的位置?
我不关心我的本地克隆库中的任何文件。当这个烂摊子被修复时,我可以重新克隆。
答案 0 :(得分:2)
有几种方法。
如果您想在本地保存文件:git reset 4c5222
如果您不想保留所有文件git reset --hard 4c5222
如果您想保留历史记录并进行转发提交,则可以对要删除的每个提交使用git revert COMMIT
。
在这种情况下,您会想要选项2,但它会完全删除对文件的任何更改,并且无法恢复。所以一定要确定。这将修复您的主分支。
现在,要清理其他分支,只要不需要任何内容就可以删除分支。 git branch -D branch_name
答案 1 :(得分:1)
假设您使用的是本地版本的母版,我会选择:
git reset --hard 4c5222c0
这会将您的本地repo带到红色箭头指向的提交的哈希值。
然后你可以强制推送掌握,例如:
git push origin +master