我一直在与一系列同学一起参与一个项目。一次事故导致我把我自己的存储库弄得乱七八糟,以至于它无法使用,而且我不确定问题何时发生。我相信简单地清空我的存储库并从最新的同学提交中提取更容易,但是当我这样做时,没有任何反应。我的存储库仍然是空白的。
我们都从教师的基础知识库中分离出来,我们正在使用Git Extensions,因为我们都是Git的新手(但需要在课堂上使用它。)
我正试图在当天早些时候恢复Shade的提交,题为“更新游戏”,但我不知道如何去做。我该如何处理这个过程?
答案 0 :(得分:0)
使用git log获取提交哈希,如43566df6a26a31a2d44ad102ffa241a0ab55edde。您可以使用git checkout然后git checkout -b从该点创建一个新分支。您也可以使用git branch删除旧分支-D git branch -m支持移动(重命名)新分支。
答案 1 :(得分:0)
当尝试使用Git做最简单的事情时,你会很快对GUI感到沮丧。这是你做一些更复杂的事情的时候之一,你需要使用终端;)。运行:
git checkout master
git reset --hard Shade/master
请注意,会破坏任何未提交的作品。
现在master
将指向Shade/master
指向的提交。这是你问题的答案。但!有一个你应该考虑的问题。通过将master
停留在origin/master
后面,您已经创建了一个无法再推送到origin/master
的情况,因为origin
会拒绝非origin/master
快进推进。你要做的是"虚拟合并" git merge --ours origin/master -m "Fix botched work"
放入您的本地副本,如下所示:
--ours
origin
标志会丢弃其他分支中可能已合并的任何更改。现在您可以在没有{{1}}抱怨的情况下推送。
希望有所帮助!