当前位置: 首页 > 工具软件 > git-ftp > 使用案例 >

git-ftp "Can't access remote 'ft://...', exiting..."问题记录

东方弘壮
2023-12-01

环境
服务器:西部数码虚拟主机
本地系统:windows 10 (LTSC 2019)
软件: Git Bash,gti-ftp (版本1.6.0)

问题
在使用git ftp init初始化上传代码的时候会出现

$ git ftp init
fatal: Can't access remote 'ftp://dmkt:***@dmkt.gotoftp1.com', exiting...

尝试解决
百度搜索和GitHub的issue都找过,没有找到解决方案。

Can't access remote意思就是说无法连接,但是电脑上的ftp软件可以正常连接,尝试 windows ftp 命令行连接服务器的 ftp ,出现下面这种情况

连接到 myftp.myhostadmin.net。
220 Ready
远程主机关闭连接。

没有让我输入用户名和密码,过了一会儿就直接关闭连接了。
猜测可能和这个有关,出现原因可能是连接方式应改为主动或者被动,亦或者其他原因,但网上没有关于此问题的解决办法。

尝试跳过初始化直接推送,git ftp push,得到

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

说没有最后一次提交,提示我去初始化,回到原点, 接下来测试了git ftp catchup,得到如下

$ git ftp catchup
Last deployment changed from  to b8b9d9f5dbf90414557b48105ba082a0f2b0068b.

翻译为:上次部署从B8B9D9F5DBF90414557B48105BA082A0F2B0068B更改。

去ftp软件中看了一下,发现根目录多了.git-ftp.log文件,内容为b8b9d9f5dbf90414557b48105ba082a0f2b0068b,表明git ftp命令是可以正常运行的,再次尝试push,得到结果

$ git ftp push
No changed files for dmkt.gotoftp1.com/. Everything up-to-date.

和上次push不一样了,这次提示文件没有变化,表明push方法可用,和git一样,检测到相同的SHA1值则文件没有被推送。找到解决办法如下

解决办法

  1. 在根目录创建.git-ftp.log文件,手动创建或者使用git ftp catchup都可以,使用git ftp catchup需要去ftp上删除.git-ftp.log文件中的内容,不然无法推送

  2. 使用git ftp push推送,得到下面的提示,就是问你是否忽略并上传所有文件,当然是yes

    $ git ftp push
    Unknown SHA1 object, make sure you are deploying the right branch and it is up-to-date.
    Do you want to ignore and upload all files again? [y/N]: y
    

接下来就是文件上传过程。

 类似资料: