如果文件已经在服务器上,请避免git-ftp上传

时间:2012-11-03 01:10:12

标签: git version-control github git-ftp

假设我有我的应用程序的本地副本,我将其推送到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

1 个答案:

答案 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将未来的提交与其同步。