如何从fork的origin项目创建一个干净的主分支?

时间:2017-06-26 16:45:25

标签: git

好吧,所以我不小心将提交推送到我的分支的主分支,并提交分支进行PR。

我现在需要创建另一个PR,但我不知道我可以根据未修改的主分支创建一个新分支(因为我不小心推送了那里的提交)。如何根据forks origin项目的master分支创建分支?

澄清一下:我没有master分支的干净副本来创建另一个分支。我可以用什么灵魂来解决这个问题?

2 个答案:

答案 0 :(得分:1)

您可以从那里转到之前的提交和分支。转到您的主分支并使用git log查看您的提交历史记录并复制您想要返回的提交的哈希值(在您最新的提交之前,它看起来像)。

使用git checkout <hash>来启动该提交。然后git branch <new branch name>创建一个基于干净主分支的新分支。

答案 1 :(得分:1)

您可以使用

创建先前提交的新分支
git checkout -b <new_branch_name> <commit hash>

然而,似乎更大的问题是你现在拥有不应该存在的master中的提交。如果没有强制移除它们,那么唯一的另一种选择就是恢复这些提交。你提到你是自己的叉子,如果没有其他人也在你的叉子上工作,这可能会推动更好的选择。如果你想这样做来修复你的主人,你可以做

git reset --hard <commit hash to revert to>