以下是年轻的时候的想法,现在想想实在是太蠢了,还是老老实实用内网穿透吧啊啊啊啊!!!微信开发——内网穿透
微信开发过程中有一个很坑的地方,必须把代码部署到有公网IP的服务器上才能测试(不考虑内网穿透)。
刚开始用git同步代码,开发完了push到github上,然后在服务器上pull下来,这样做很简单,但不优雅。如果只做很小的改动,想看看运行效果,但是在没有运行确认代码正确性的情况下commit,会污染分支的信息,有可能会导致多次无意义的提交。
然后尝试了scp和sftp,jetbrains家的IDE都支持sftp部署,这样可以在改完代码后,上传文件,然后在服务器上执行,代码验证完了,再在本地commit。这样不会污染分支信息了,但是scp和sftp不能增量传输文件,每次都把所有文件上传一遍,速度较慢,另外他们exclude机制很难用,很难排除掉.pyc这样的临时文件。
最后选择了rsync,这是一个非常棒的可以增量传输文件的命令,它只传输改动过的文件,大大提高了传输速度,它还有强大的exclude功能,匹配规则与git相似,甚至可以直接使用.gitignore文件作为--exclude-from参数的值。
总结: 在做微信开发(或是其它需要实时部署到远程服务器上的项目)时,可以使用rsync向远程机器上传文件,使用git做版本控制。千万不要用git来传文件,否则容易产生无意义的commit messages。