如何理清我对 GIT 存储库造成的混乱?

How to untangle the mess I made out of my GIT repository?

我是 GIT 的超级新手,我想我可以创建一个简单的测试 commit/push。在这个过程中,我最终得到了附图中显示的一团糟。

问题是,我需要调用什么 GIT 命令来删除红色箭头上方的所有内容并在红色箭头所在的位置保留 origin/master?

我不关心存储库本地克隆中的任何文件。当这个烂摊子被修复后,我可以重新克隆。

假设您使用的是本地版本的 master,我会选择:

git reset --hard 4c5222c0

这会将您的本地存储库带到红色箭头指向的提交的哈希值。

然后你可以强制push到master,比如这样:

git push origin +master

有几种方法。

  1. 如果要将文件保存在本地:git reset 4c5222

  2. 如果您根本不想保留这些文件git reset --hard 4c5222

  3. 如果您想保留历史记录并进行前向提交,您可以对每个要删除的提交使用 git revert COMMIT

在这种情况下听起来您想要选项 2,但它会完全删除对文件的所有更改并且无法恢复。所以请确定。这将修复您的主分支。

现在,要清理另一个分支,如果不需要任何内容​​,只需删除该分支即可。 git branch -D branch_name