我的计算机和带有ssh的Web服务器上都有一个Web应用程序.问题是我在我的计算机上本地开发应用程序,我想将它与服务器同步而不是通过ftp复制文件.还有其他方法吗?Git的?
您没有指定涉及哪些操作系统或语言,因此很难具体说明.
Git(以及SVN和Mercurial等)非常适合版本控制,但保持系统同步通常需要的不仅仅是版本控制.如果你是一个Python类型的人,你可能会喜欢阅读现代Python黑客的工具:Virtualenv,Fabric和Pip.这里讨论的不仅仅是代码,还要保持整个环境的同步.
为了简单地保持两个系统上的文件同步,我建议使用rsync.我将它用于各种任务,包括在一台机器上以及在机器之间备份/同步目录.我们在SoCal有一个客户,我们正在做3级备份策略(2个现场,1个网站外)超过5TB的数据,其核心是rsync和rsnapshot.
更新评论:
您的网站所写内容并不重要,您仍需确保所有更改都能完成生产.这通常是一个多步骤的过程.Fabric专门设计用于封装这些步骤并将它们减少为单个命令.Pip和virtualenv在捕获额外的库更改等方面更具有Python特性,但Ruby/Rails可能具有相同的功能.目标是拥有从dev到staging所需的一切命令,以及从登台到生产的另一个命令.
一个忠告:不要不直接从您的开发计算机自动同步到你的生产目录.始终首先转到生产计算机上的中间登台目录.几乎可以肯定的是,这两台机器没有100%完全相同的环境,并且在dev上工作的东西可能在生产机器上根本不起作用.你最好花一两分钟来测试分段,而不是让你的整个生产站点出现500错误.