git-ftp fatal: не удалось получить последний коммит. Сеть не работает? Неправильный адрес? Используйте 'git ftp init' для начального пуша

Я использую git-ftp и отлично работает в течение нескольких дней, но внезапно сломался (через несколько часов я успешно загрузил), и сообщение об отладке выглядит так:

+ git ftp push -vv --syncroot folder/ --auth $USERNAME --passwd $PASSWORD $URL
Thu Dec  6 13:48:12 UTC 2018: Using syncroot folder/ if exists.
Thu Dec  6 13:48:12 UTC 2018: Host is 'myhost.com'.
Thu Dec  6 13:48:12 UTC 2018: User is ''.
Thu Dec  6 13:48:12 UTC 2018: Password is set.
Thu Dec  6 13:48:12 UTC 2018: Path is 'remote_folder/'.
Thu Dec  6 13:48:12 UTC 2018: Syncroot is 'folder/'.
Thu Dec  6 13:48:12 UTC 2018: CACert is ''.
Thu Dec  6 13:48:12 UTC 2018: Insecure is ''.
Thu Dec  6 13:48:12 UTC 2018: Retrieving last commit from ftp://myhost.com/.
* Couldn't find host myhost.com in the .netrc file; using defaults
* Hostname was NOT found in DNS cache
*   Trying ***.***.***.**...
* Connected to myhost.com (***.***.***.**) port 21 (#0)
< 220 Host FTP Server
> USER anonymous
< 331 Password required for anonymous
> PASS ftp@example.com
< 530 Login incorrect.
* Access denied: 530
* Closing connection 0
curl: (67) Access denied: 530
Thu Dec  6 13:48:15 UTC 2018: fatal: Could not get last commit. Network down? Wrong URL? Use 'git ftp init' for the inital push., exiting...

Файл.git-ftp.log все еще находится в удаленном режиме, и я не изменил никаких переменных. В чем дело?

1 ответ

Решение

Оказывается, моя команда git ftp --user был случайно заменен на --auth, вот команда ошибки:

git ftp push -vv --syncroot folder/ --auth $USERNAME --passwd $PASSWORD $URL

После того, как я заменил строку в моей команде git ftp, все снова работает, вот правильная команда:

git ftp push -vv --syncroot folder/ --user $USERNAME --passwd $PASSWORD $URL

Но я читал, что некоторые считают, что ftp небезопасен, поэтому я заменяю свою команду git ftp на:

git ftp push -vv --key ~/.ssh/my_ssh_key --syncroot folder/ --user $USERNAME --passwd $PASSWORD sftp://myhost.com/~remote_folder/

Я также изменяю свой файл BitBucket Pipeline YML, чтобы использовать самое последнее базовое изображение php (php:7) вместо старого, который я первоначально указал (php:7.1.1)

Для тех, кто использует gitlab трубопровод и directadmin в качестве альтернативы cpanel.

Иногда это может быть из-за проблемы с каталогом ftp. Если вы используетеdirectadmin, он может время от времени изменять каталог ftp. Я правда не знаю почемуdirectadminделает это. Но как только вы перейдете кFTP Account раздел и просмотрите путь к каталогу для user вы используете в gitlab настройки, вы можете увидеть, что каталог неверен.

Подтвердите путь к каталогу FTP. Это помогло мне решить мою проблему. Надеюсь, это поможет кому-то другому.

Другие вопросы по тегам