更新时间:2023-01-19 14:24:10
有可能 fetch 将请求发送到您的本地计算机。
如果没有链接到请求的请求,很难测试这是否可行,但您可以尝试创建
fetch
你从上游存储库获取请求,
git remote add upstream https://github.com/User/repository.git
$编辑器.git / config
#添加`fetch = + refs / pull / * / head:refs / remotes / upstream / pr / *`至
#相关部分,如链接页面中所述。请注意,
#我们使用`upstream`而不是`origin`作为目标。
git fetch upstream
合并
将请求拉入本地存储库,例如
git checkout master
git merge - -ff-only upstream / pr / 1
然后 push
当用户删除时,我们不会追溯地从备份中删除存储库,因为我们可能需要为用户恢复存储库,如果它被意外删除。
要启动此过程,请尽快联系他们的支持团队。
I did something stupid…
The owner of the original repo requested a couple changes in my code before he could accept the pull-request, which I'd gladly do.
I tried re-forking the repo, but I can't checkout the commit from the pull-request, it's not even there as an "unlinked" commit (a commit that is not part of any branch or tag, I don't know the official terminology).
My question is: How can I recover the commit sent as a pull-request ?
If there's no way, re-doing the changes in a new commit is an option, but the pull-request would be lost. My question is not about not losing the changes from the commit, it's about not losing the git history, meaning keeping the commit's SHA1 (and anything else I might not be aware of).
It is possible to fetch
pull requests to your local machine.
Without having a link to the pull request in question it's hard to test whether this will work, but you can try to
fetch
your pull request from the upstream repository,
git remote add upstream https://github.com/User/repository.git
$EDITOR .git/config
# Add `fetch = +refs/pull/*/head:refs/remotes/upstream/pr/*` to
# the relevant section, as outlined in the linked page. Note that
# we use `upstream` instead of `origin` as the target.
git fetch upstream
merge
the pull request into your local repository, e.g.
git checkout master
git merge --ff-only upstream/pr/1
and then push
it back to your new fork.
If that fails, you can submit a support request to GitHub asking them to restore your repository. From an FAQ about security:
We do not retroactively remove repositories from backups when deleted by the user, as we may need to restore the repository for the user if it was removed accidentally.
To initiate this process, contact their support team as soon as possible.