相似点:
必须添加应该是存储库一部分的文件才能被跟踪.这两个工具都使用该add命令来完成此任务.添加文件意味着准备提交.
区别:
添加文件时,Git允许一些更详细的细节.您可以决定添加整个文件或不同的代码行.将文件添加到索引或阶段可以提供更大的灵活性.SVN自动提交已添加到存储库的文件的所有更改.Git决定将与每个提交操作相关联的更改与用户相关联.换句话说:Git中的下一次提交仅包含已暂存的那些更改(行或文件),而不管文件的跟踪状态如何.SVN自动包括跟踪文件的所有更改.
附加信息:
尝试阅读一些描述Git工作流程的帖子,例如来自Oliver Steele的工作流程.但请注意,没有一种方法可以使用Git - 有许多方法.如果你愿意,你可以像使用SVN一样使用Git.
不要指望在很短的时间内理解Git的哲学.我花了一年时间才进入它,我仍然学习使用它的新方法.我认为如果你在SVN心态下长大,那就更难了.那里有大量的材料:文章,视频,...... - 花点时间尝试其中的一些.这是我收集的列表中的一个选择.
暂存区域的主要优点是您可以轻松地仅提交给定文件中的部分更改.(git add -p例如使用.)据我所知,在SVN中进行"部分"提交的唯一方法是在每个文件级别上,或者通过手动备份文件然后暂时还原您不想要的更改提交.
如果(像我一样)你不是一个高度组织化的开发人员并希望在事后能够将更改整理成"整洁"的提交,那就太棒了.这遵循Git的一般态度,即更倾向于给予你灵活性来强制执行严格性.如果您不需要它,您可以随时使用它,并使用它git commit -a ....
SVN没有类比,因为SVN不是Git,也没有这样的概念.