JGit: Как исправить NoRemoteRepositoryException при создании Git Repository и отправке его в GitHub? - PullRequest
1 голос
/ 22 мая 2019

Используя JGit, я хочу создать НОВЫЙ репозиторий и отправить его на GitHub. Я получаю NoRemoteRepositoryException. Пожалуйста помоги. Чего мне не хватает в моем коде?

private void createNewRepository(Task task, String path) {
  File directory = new File(path);
  try {
    Git git = Git.init().setDirectory(directory).call();
    git.add().addFilepattern( "readme.txt" ).call();
    git.commit().setMessage( "Create readme file" ).call();

    RemoteAddCommand remoteAddCommand = git.remoteAdd();
    remoteAddCommand.setName("origin");
    remoteAddCommand.setUri(new URIish(task.getVcUrl()));
    remoteAddCommand.call();

    CredentialsProvider credentialsProvider = new UsernamePasswordCredentialsProvider(task.getVcUsername(), task.getVcPassword());   
     git.push().setCredentialsProvider(credentialsProvider).
        setRemote("origin").setPushAll().setForce(true).call();
  } catch (GitAPIException ex) {
    logger.warn(ex.getLocalizedMessage(), ex);
    taskLogger.get().append(ex.getLocalizedMessage()).append("\n");
  } catch (URISyntaxException e) {
    e.printStackTrace();
  }
}

Ошибка трассировки стека:

Caused by: org.eclipse.jgit.errors.NoRemoteRepositoryException: 
    http://github.com/AAA/Orgtest_sd3: 
    https://github.com/AAA/Orgtest_sd3/info/refs?service=git-receive-pack not 
found
    at 
org.eclipse.jgit.transport.TransportHttp.connect(TransportHttp.java:520)
    at 
org.eclipse.jgit.transport.TransportHttp.openPush(TransportHttp.java:440)
    at org.eclipse.jgit.transport.PushProcess.execute(PushProcess.java:160)
    at org.eclipse.jgit.transport.Transport.push(Transport.java:1344)
    at org.eclipse.jgit.api.PushCommand.call(PushCommand.java:169)

1 Ответ

0 голосов
/ 23 мая 2019

Вы не можете создать новый удаленный репозиторий с вашего локального хоста, ни с JGit, ни с собственным Git.

Сначала вам нужно будет создать репозиторий на удаленном хосте, затем вы можете клонировать, извлекать и передавать из / в этот репозиторий.

...