Você pode usar o Dreamweaver - ele tem um recurso de check-in check-out projetado para isso (ou TFS para Visual Studio , mas isso é mais caro eu acho). No entanto, você tem o direito de sobrescrever alguém que possa ser um separador de negócios.
Mais detalhes com o Dreamweaver: link e descreve-se como:
If you’re working in a collaborative environment, you can check files in and out from local and remote servers. If you’re the only person working on the remote server, you can use the Put and Get commands without checking files in or out.
Checking out a file is the equivalent of declaring “I’m working on this file now—don’t touch it!” When a file is checked out, the name of the person who checked out the file is displayed in the Files panel, along with a red check mark (if a team member checked out the file) or green check mark (if you checked out the file) next to the file’s icon.
Checking in a file makes the file available for other team members to check out and edit. When you check in a file after editing it, your local version becomes read-only and a lock symbol appears beside the file in the Files panel to prevent you from making changes to the file.
Dreamweaver does not make checked-out files read-only on the remote server. If you transfer files with an application other than Dreamweaver, you can overwrite checked-out files. However, in applications other than Dreamweaver, the LCK file is visible next to the checked-out file in the file hierarchy to help prevent such accidents.