体验 svn 和 git 的使用差异
很长时间以来,一直是用 svn。最近开始学习和使用 git。通过一段时间的使用,感受到它们有不小的差异。
svn
- 有全局唯一的版本号,可以嵌到代码里;
- 可以下载部分模块、而不是全部;
- 有服务器存放仓库;
git
- 除了少数几个操作以外,几乎都可以不依赖网络,离线操作;
- 操作快速高效;
- 只有根目录有一个
.git/
目录,没有多余的隐藏目录; - 可以撤销之前的操作;
- 命令行的控制更加丰富;
- 可以通过 git-svn 访问 svn 仓库;
另外,还注意到:
- 在目录结构上,git 更干净;在 svn 里,可以使用 export 导出干净的目录结构。
- git 每次都有唯一的 ID,结合 post-commit,也可以嵌到代码里。
- git 不会跟踪空目录,非要这样做,可以在空目录里放个空的 .gitignore,就好了。
- gitk 不知道时区的?