我搜索了这个但无法找到答案。 我只是想知道非命令行的方式来做到这一点.... 或者还有其他方法来实现这一目标吗?
答案 0 :(得分:1)
你可以delete files(来自你拥有的回购,就像一个分支)
但是你不能直接从web界面删除提交
为此你需要克隆,做一个交互式rebase(删除你不想要的提交)和git push --force
。
即使是revert does not seem possible。
OP补充道:
实际上我有3个分支,其中一个是
master
,其余两个分别是patch-1
和patch-2
,在创建master
和{{{}}}之前,我搞砸了patch-1
分支{1}}分支,所以一些无用的提交也从patch-2
克隆到master
和patch-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