关于版本控制何时commit的有关问题

关于版本控制何时commit的问题
应该是版本控制最基本的问题
可也不知道确切的答案,所以想问问各位高手

进行开发的时候大家都是怎么个过程?
我们同事间有两种观点:
我是说在本地进行开发,开发一部分就commit一部分,在服务器上运行进行测试。
其他同事是说架设本地服务器,在本地进行开发完成,进行测试以后再把代码都上传到服务器上。

大家是怎么做的?应该怎么做涅?

------解决方案--------------------
大多数情况下采用第二种方案