我從命令提示字元運行此命令:
rsync -rltz --executability -C --filter=':- .gitignore' -e "ssh -i /cygdrive/c/Users/dstein/.ssh/id_rsa" myfolder/ [email protected]:/path/to/place
我有我的PATH
環境 avriable 指向,cygwin/bin
這樣我就可以rsync
在不使用 cygwin 的情況下使用,這會導致許多其他問題。
我終於讓它工作了,所以如果我更改其中的文件,myfolder
上傳到place
.但是,如果我編輯進一步嵌套在myfolder
上述命令中的任何文件,則不適用於這些文件。
編輯
事實證明,這不是深度,而是這個名為core
It 的特定資料夾與同步正常的所有其他資料夾具有相同的權限。
答案1
看來您的問題與-C
標誌有關。rsync
的-C
標誌是 cvs 排除規則。它會自動忽略與 CVS 內部排除文件規則相符的文件。
這些排除項來自man rsync(1)
:
RCS SCCS CVS CVS.adm RCSLOG cvslog.* tags TAGS .make.state .nse_depinfo *~ #* .#* ,* _$* *$
*.old *.bak *.BAK *.orig *.rej .del-* *.a *.olb *.o *.obj *.so *.exe *.Z *.elc *.ln core
.svn/ .git/ .hg/ .bzr/
您的目錄違反的規則是core
第 2 行末尾的 。
答案2
讓我刪除所有內容並在我們交叉發佈時插入。如果從 myfolder/ 中刪除尾隨 /,則整個目錄會被複製。但你會在裡面有我的資料夾。我不明白為什麼 -r 不起作用。
輸入 -vv 以獲得更多資訊。