Git和SVN有哪些具体区别和各自的优缺点?