是否可以通过github网站从forked repo中删除特定提交

时间:2018-03-14 03:57:11

标签: github

我搜索了这个但无法找到答案。 我只是想知道非命令行的方式来做到这一点.... 或者还有其他方法来实现这一目标吗?

1 个答案:

答案 0 :(得分:1)

你可以delete files(来自你拥有的回购,就像一个分支)

但是你不能直接从web界面删除提交 为此你需要克隆,做一个交互式rebase(删除你不想要的提交)和git push --force
即使是revert does not seem possible

OP补充道:

  

实际上我有3个分支,其中一个是master,其余两个分别是patch-1patch-2,在创建master和{{{}}}之前,我搞砸了patch-1分支{1}}分支,所以一些无用的提交也从patch-2克隆到masterpatch-1分支,所以请你帮我删除那些从patch-2克隆的提交?

没有,但没有克隆回购:但

master

然后在上游git clone /url/of/your/fork cd yourfork git remote add upstream /url/original/repo git fetch upstream git checkout -b patch-1 origin/patch-1 git checkout -b patch-2 origin/patch-2 上重播补丁:

master

最后将git rebase --onto upstream/master master patch-1 git rebase --onto upstream/master master patch-2 重置为上游master分支:

master

然后把所有东西都推回你的叉子:

git checkout master
git reset --hard upstream/master