我需要删除fork的提交

fab*_*ous 10 git github

好的,我做了一些蠢事.

  • 我分了一个我应该贡献的回购.
  • 所以我然后逐字地创建了一个名为"blafile"的文件来检查我是否可以提交(显然我不明白fork是什么)并且使用"check my can commit"消息进行提交.
  • 我推到了我的github分叉回购并忘了它.
  • 我开始在第二天修复一个bug.
  • 我提交了我的修复并推送到我的分叉回购消息"fixed bug xyz".

现在我想发出一个拉取请求,突然间我看到了"检查我可以提交"提交.我宁愿不喜欢那样出现在拉动请求中.:)

我可以完全删除该提交吗?我可以在一次提交时发出拉取请求,还是会提取我的所有提交?

我知道我可以在本地git reset --hard HEAD~1(这是一个我可以快速重做的小修复),但这只能修复我的本地仓库,而不是我的github(分叉)仓库.

nne*_*neo 10

很多选择.

最好的选择可能是创建一个新的分支,并挑选你的修复到该分支:

git checkout -b my-fix-branch origin/master
git cherry-pick master
git push -u origin my-fix-branch
Run Code Online (Sandbox Code Playgroud)

然后从my-fix-branchGitHub上做一个pull请求.(这假定您的工作分支是master基于远程命名的;根据需要master更改分支名称).


如果没有人拉动或克隆你的前叉,你可以强行重写历史.然后执行git rebase -i HEAD~2并删除违规提交git push --force.这将打破基于你的fork的任何其他repo,所以如果你怀疑其他人正在使用你的repo ,请要这样做.