我已创建并编辑了一个分支,并提交了拉取请求。但是,它有很多次提交,我想删除一些不相关的提交。我该怎么做?
我查看了许多其他答案(比如this),但它们都涉及略微不同的问题,由于我是GitHub的新手,我不知道如何将它们整合在一起。
谢谢。
我查看了许多其他答案(比如this),但它们都涉及略微不同的问题,由于我是GitHub的新手,我不知道如何将它们整合在一起。
谢谢。
交互式变基通常有效,几乎总是更好的解决方案(详情请参见这里)。然而,我遇到了一些问题,不得不采用另一种方法。
1)重新克隆您的分支到另一个位置,例如:
git clone /your-username/your-repo
2) 从上游重新启动您的派生版本(详情请点击此处):
git remote add upstream /url/to/original/repo
git fetch upstream
git checkout master
git reset --hard upstream/master
git push origin master --force`
3) 替换仓库中相关文件并提交更改。在再次进行必要的更改后:
git commit -m "<commit message>"
git push origin <relevant-branch>
你可以使用以下命令回到之前的提交:
git checkout {commit_id}
其中commit_id可以通过git log
查看
然后,你可以进行新的提交并添加你想要的更改。
如需了解更多,请参考git-checkout Git log。