Ошибка Push to GitHub: Не удалось найти хост github.com в файле .netrc; используя значения по умолчанию

Использование java.nio. Files вместе с java.nio.file. StandardOpenOption

    PrintWriter out = null;
    BufferedWriter bufWriter;

    try{
        bufWriter =
            Files.newBufferedWriter(
                Paths.get("log.txt"),
                Charset.forName("UTF8"),
                StandardOpenOption.WRITE, 
                StandardOpenOption.APPEND,
                StandardOpenOption.CREATE);
        out = new PrintWriter(bufWriter, true);
    }catch(IOException e){
        //Oh, no! Failed to create PrintWriter
    }

    //After successful creation of PrintWriter
    out.println("Text to be appended");

    //After done writing, remember to close!
    out.close();

Это создает файл BufferedWriter, используя файлы , который принимает параметры StandardOpenOption и авто-промывку PrintWriter из результирующего BufferedWriter. PrintWriter println(), затем может быть вызван для записи в файл.

Параметры StandardOpenOption, используемые в этом коде: открывает файл для записи, только присоединяется к файлу и создает файл, если он не существует.

Paths.get("path here") можно заменить на new File("path here").toPath(). И Charset.forName("charset name") можно изменить, чтобы разместить желаемый Charset.

17
задан phil swenson 29 July 2014 в 23:11
поделиться

3 ответа

Если у вас возникли проблемы с созданием нового файла .netrc, убедитесь, что он находится в вашем каталоге HOME (cd ~ /), убедитесь, что он доступен для чтения вами (chmod 600 ~ / .netrc), и убедитесь, что он выглядит следующим образом. это:

машина github.com
логин yourgithublogin
пароль yourgithubpassword

1
ответ дан Ian 29 July 2014 в 23:11
поделиться

Похоже, вы пытаетесь протолкнуть, используя « протокол smart http (s) », который GitHub теперь поддерживает .
Предположим, здесь у вас нет проблем с прокси или брандмауэром.

Какой у вас адрес удаленного вышестоящего репо?
(какие списки git remote -v show ?)

Я бы порекомендовал:

    machine github.com
    login your_github_login
    password your_github_password
  • , попробуйте снова клонировать ваше репо git clone https://github.com/your_github_login/gitrepo.git и протолкните этот экземпляр.

Примечание: как комментирует Нуфал Ибрагим , вы можете использовать ssh (если порт ssh не заблокирован, оставляя вас только с соединениями http / https)

git clone ssh://user@server:project.git
4
ответ дан 30 November 2019 в 12:35
поделиться

У меня была та же проблема, и я считаю, что это связано с размером репо (отредактированного или размера определенного файла), который вы пытаетесь отправить.

По сути, я смог создать новые репозитории и отправить их на github. Но существующий не сработает.

Код ошибки HTTP, кажется, поддерживает меня, это ошибка «Требуется длина». Так что, возможно, он слишком велик, чтобы вычислить или оценить, что макс. Кто знает.

РЕДАКТИРОВАТЬ

Я обнаружил, что проблема может быть файлы большого размера. у меня было одно обновление что не будет толкать, даже если бы я успешные толчки до этой точки. В коммите был только один файл но это оказалось 1,6 МБ

. Поэтому я добавил следующее изменение конфигурации

git config http.postBuffer 524288000

Чтобы разрешить размер файла до 500 МБ и тогда мой толчок сработал. Возможно, это было что это была проблема изначально с отправкой большого репо через http протокол.

КОНЕЦ РЕДАКТИРОВАНИЯ

способ, которым я мог заставить его работать (РЕДАКТИРОВАТЬ до того, как я изменил postBuffer), заключался в том, чтобы запаковать мой репозиторий, скопировать его на машину, которая может выполнять git через ssh, и отправить его на github. Затем, когда вы пытаетесь выполнить push/pull с исходного сервера, он должен работать через https. (поскольку это гораздо меньший объем данных, чем исходный толчок).

Надеюсь, это поможет.

17
ответ дан 30 November 2019 в 12:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: