Eu não acho que você esteja procurando no lugar certo. A funcionalidade que você está perguntando é basicamente aquela que seria fornecida pelo software de controle de versão . Especificamente, use o software de controle de revisão distribuído , como Bazaar , Git ou Mercurial . Mantenha um repositório na sua máquina local e outro no seu servidor. Quando estiver satisfeito com as alterações, confirme seu repositório local e, em seguida, envie as alterações para o servidor e atualize o checkout. (Você pode roteirizar toda a cadeia, é claro).
A parte IDE é apenas a cereja no topo do bolo: tudo o que você precisa é uma interface conveniente para o software de controle de versão subjacente. Eu sendo eu, vou recomendar Emacs .