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

是否可以通过github网站从forked repo中删除特定提交,github,Github,我搜索了这个,但找不到我的答案。 我只想知道用非命令行的方式来实现这一点。。。。 或者还有其他方法可以达到同样的效果吗?你可以(通过你自己的回购,比如叉子) 但您不能直接从web界面删除提交。 为此,您需要克隆,执行一个交互式的重基(删除您不想要的提交)和git push--force 甚至一个 OP补充道: 实际上我有三个分支,一个是master,其余两个是patch-1和patch-2,在创建patch-1和patch-2分支之前,我把master和patch-1分支搞砸了patch-2分支

我搜索了这个,但找不到我的答案。 我只想知道用非命令行的方式来实现这一点。。。。 或者还有其他方法可以达到同样的效果吗?

你可以(通过你自己的回购,比如叉子)

但您不能直接从web界面删除提交。
为此,您需要克隆,执行一个交互式的重基(删除您不想要的提交)和
git push--force

甚至一个

OP补充道:


实际上我有三个分支,一个是
master
,其余两个是
patch-1
patch-2
,在创建
patch-1
patch-2
分支之前,我把
master
patch-1
分支搞砸了
patch-2
分支,因此请您帮助我删除从
主文件
克隆的提交

如果不克隆回购协议,则不会:

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
然后在上游
主机上重播补丁程序:

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
然后把所有东西都推回到你的叉子上:

git push --force --mirror

使用桌面工具并不总是意味着命令行。你可以使用SourceTree,Ortoisegit,等等。实际上我有三个分支,一个是主分支,其余两个是patch-1和patch-2,我在创建patch-1和patch-2分支之前弄乱了主分支,所以一些无用的提交也从主分支克隆到patch-1和patch-2分支,所以请你帮我删除那些从master克隆的提交。事实上,我是github的新手我按照你的建议克隆了回购协议,但现在我不知道如何删除提交。。。您有任何关于我的情况的参考链接,或者您可以指导我?@Golu我已经更新了答案,以包括准确的步骤。非常感谢您的帮助,但我有一个疑问,我想在实施您的步骤之前澄清。我向原始回购/主项目so发出了从patch-1分支机构拉取请求,我的怀疑=是你的步骤会影响我的PR(PR仍然没有合并)@Golu最后的推送--force将覆盖远程patch-x分支,并将自动更新你的PR。除了更新的现有PR不会有你不想要的旧主机的额外提交之外。