假设我有我的应用程序的本地副本,我将其推送到github,然后使用git-ftp将任何更改上传到我的服务器。
我先用:
$ git ftp init -u <user> -p - ftp://host.example.com/public_html
会将我的所有文件上传到服务器并使用git push
进行日后上传,对吗?
但是,如果我的服务器上已有副本并想在本地设置,该怎么办?我尝试下载我的应用文件,使用git init
,将所有内容推送到github然后当我尝试使用git ftp push
时收到此错误:
fatal: Could not get last commit. Network down? Wrong URL? Use 'git ftp init' for the inital push., exiting...
然后我使用git ftp init
命令并且它有效,但它重新上传了所有内容。
有没有办法设置它而无需重新上传所有内容并开始使用git ftp push
?
答案 0 :(得分:19)
来自git-ftp
的手册页:
catchup
Uploads current SHA1 to log, does not upload any files.
This is useful if you used another FTP client to upload the
files and now want to remember the SHA1.
所以,如果你肯定你的git存储库与FTP服务器同步,第一次运行git ftp catchup
代替git ftp init
,它会将当前的提交哈希值上传到服务器但是不要更改任何文件。在此之后,使用git ftp push
将未来的提交与其同步。