体验 svn 和 git 的使用差异

很长时间以来,一直是用 svn。最近开始学习和使用 git。通过一段时间的使用,感受到它们有不小的差异。

svn

  • 有全局唯一的版本号,可以嵌到代码里;
  • 可以下载部分模块、而不是全部;
  • 有服务器存放仓库;

git

  • 除了少数几个操作以外,几乎都可以不依赖网络,离线操作;
  • 操作快速高效;
  • 只有根目录有一个 .git/ 目录,没有多余的隐藏目录;
  • 可以撤销之前的操作;
  • 命令行的控制更加丰富;
  • 可以通过 git-svn 访问 svn 仓库;

另外,还注意到:

  • 在目录结构上,git 更干净;在 svn 里,可以使用 export 导出干净的目录结构。
  • git 每次都有唯一的 ID,结合 post-commit,也可以嵌到代码里。
  • git 不会跟踪空目录,非要这样做,可以在空目录里放个空的 .gitignore,就好了。
  • gitk 不知道时区的?

Read More: