git-ftp 致命:无法获取最后一次提交。网络不通?错了URL?使用 'git ftp init' 进行初始推送

git-ftp fatal: Could not get last commit. Network down? Wrong URL? Use 'git ftp init' for the inital push

我用 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 还在远程,我没有更改任何变量。怎么回事?

原来我的gitftp命令--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 部分并查看您在 gitlab 设置中使用的 user 的目录路径,您可能会看到该目录不正确。

确认FTP目录路径。这帮助我解决了我的问题。希望这会对其他人有所帮助。