2012-11-03 58 views
10

假設我有我的應用程序的本地副本,並將其推送到github,然後使用git-ftp將所有更改上傳到我的服務器。如果服務器上已有文件,請避免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

回答

16

從手冊頁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 init第一次運行git ftp catchup,它會上傳當前向服務器提交散列,但不更改任何文件。在那之後,使用git ftp push來同步將來的提交。