The default protocol for `git_url` is `git:`, which is fine for public repos, but fetching will not work for private repos. Unfortunately, inside this method we don't know what the privacy of the original repo is.

It would be ideal if we just copied over the exact same URL as the origin remote. Unfortunately (again), we don't know what that URL might be, since the origin remote might have had multiple URLs of which only one points to GitHub.

You could add this method to Context::Remote:

```rb
def github_url
  urls.detect {|url| local_repo.known_host?(url.host) }
end
```

Then, to obtain the URL in the `fork` implementation, you could do:

```rb
origin_url = project.remote.github_url
```

Also, add another test for the case where the origin URL is private (`git@github.com...`)