84669 Lernen von Personen
152542 Lernen von Personen
20005 Lernen von Personen
5487 Lernen von Personen
7821 Lernen von Personen
359900 Lernen von Personen
3350 Lernen von Personen
180660 Lernen von Personen
48569 Lernen von Personen
18603 Lernen von Personen
40936 Lernen von Personen
1549 Lernen von Personen
1183 Lernen von Personen
32909 Lernen von Personen
对于snv,现在大部分公司都在用,那么git呢,我最近在关注,你们觉得哪个好用,哪个功能更强大呢,它们有什么区别呢???
光阴似箭催人老,日月如移越少年。
svn 是集中式版本管理系统,是更为传统的 CVS 的继承者。它是典型的 C/S 结构:有一个中心仓库,里面保存了项目代码的不同版本。而开发人员在本地在任何时候只有这个仓库中的一个版本,如果想要其他版本,或者同步版本,必须和这个中心服务器通信才能获得。想象一个极端的场景,如果中心服务器的硬盘报销,你无法从自己的硬盘上重建项目的所有版本,即使你是这个项目的唯一开发者,所有版本都在你的硬盘创建。
而 git 是分布式版本管理系统,就是说没有中心服务器。你会给一个项目的代码建立一个仓库 (Repository),即使你只是一个人开发,也可以帮你管理这个项目的代码。这个仓库可以认为相当于 SVN 的中心服务器,里面包含了代码的全部版本。当然,你自己不需要通过网络来和这个仓库来交互。
那么对于团队开发,岂不是每个人都有一个仓库?是的。每位开发者都对这个项目拥有个人的仓库,这些仓库之间的地位是平等的。这些仓库之间可以通过 clone (复制), pull (拉), push (推)等 SVN 没有的操作来进行仓库之间的同步。这让 git 比 svn 高得多的灵活性。当然,如果团队中的成员都自行其事地选择版本管理方法,这个分布式模型是会带来许多麻烦的。所以在团队必须选择一个统一的版本管理策略。
在实践中,一般会建立一个中立的仓库,不在任何成员的机器上,让它来当团队的仲裁者。每个成员的 git 仓库都约定与这个中心仓库进行同步,例如 github.com, bitbucket.com 等网站就是提供托管中心仓库的服务。当然,这些网站目前都提供更多的服务,如网页操作、PR 等。
分布式版本管理系统并不只有 git 一种,还有 Hg 等。但 git 是最为成熟,得到了最多的支持。特别是 github.com 通过社交化等思路更加拓宽了它的使用场景。
从实用上来说,SVN 对比 git 没有优势。个人的安装使用上,两者一样方便。项目组方面,git 更为容易管理。git 的实现极为可靠和高效,大大地鼓励了多分支开发,git 实践中的 git-flow 等高级的团队工作策略更加让 git 具有极高的价值。
当然,git 在理论上比 svn 有更多的操作,需要学习的概念也多很多。但理解这些绝对是值得的。
最后推荐 SourceTree 软件,它比一般 IDE 中的版本管理要漂亮得多,对于新手来说非常直观和容易学习。
如果没有用到multiple site这种需要异地开发和合并类需求的话,svn就足够了。而且相对简单。
现在大部分都在用git吧
以后提问的时候请注意拼写,并且请不要在没有解决问题的情况下采纳问题,给人刷经验的嫌疑。
这种问题过于开放,不容易有针对地回答,即使回答了也不一定能够得到很多帮助。
我觉得git更加偏向于社交,即你想把你的idea让别人也知道,当然,我指的是 https://github.com/ 。 git用起来挺方便的,除了github的访问速度不是很乐观,整体上是不错的。
svn没怎么用过,但是听说有git-svn这种概念(软件),我觉得掌握一个git对我来说足矣。
其他的等高人回答好了。
应该有很多人都纠结过这个,点这里查看吧。
svn是集中式版本控制系统,一个项目只有唯一的一个版本库与之对应,所有项目成员通过网络向该服务器进行提交。具有轻量级拷贝、保存原始拷贝等功能,存在集中式固有的单点故障、网络延迟等问题。 git为Linus开发的分布式版本控制系统,具有独特的设计,性能高,使用习惯和其他的控制系统差异很大。
参考资料:《Git权威指南》蒋鑫
其实我也有这个疑问。我现在一台win7,一台linux,但是如何才可以让他们一起提交代码共享
svn 是集中式版本管理系统,是更为传统的 CVS 的继承者。它是典型的 C/S 结构:有一个中心仓库,里面保存了项目代码的不同版本。而开发人员在本地在任何时候只有这个仓库中的一个版本,如果想要其他版本,或者同步版本,必须和这个中心服务器通信才能获得。想象一个极端的场景,如果中心服务器的硬盘报销,你无法从自己的硬盘上重建项目的所有版本,即使你是这个项目的唯一开发者,所有版本都在你的硬盘创建。
而 git 是分布式版本管理系统,就是说没有中心服务器。你会给一个项目的代码建立一个仓库 (Repository),即使你只是一个人开发,也可以帮你管理这个项目的代码。这个仓库可以认为相当于 SVN 的中心服务器,里面包含了代码的全部版本。当然,你自己不需要通过网络来和这个仓库来交互。
那么对于团队开发,岂不是每个人都有一个仓库?是的。每位开发者都对这个项目拥有个人的仓库,这些仓库之间的地位是平等的。这些仓库之间可以通过 clone (复制), pull (拉), push (推)等 SVN 没有的操作来进行仓库之间的同步。这让 git 比 svn 高得多的灵活性。当然,如果团队中的成员都自行其事地选择版本管理方法,这个分布式模型是会带来许多麻烦的。所以在团队必须选择一个统一的版本管理策略。
在实践中,一般会建立一个中立的仓库,不在任何成员的机器上,让它来当团队的仲裁者。每个成员的 git 仓库都约定与这个中心仓库进行同步,例如 github.com, bitbucket.com 等网站就是提供托管中心仓库的服务。当然,这些网站目前都提供更多的服务,如网页操作、PR 等。
分布式版本管理系统并不只有 git 一种,还有 Hg 等。但 git 是最为成熟,得到了最多的支持。特别是 github.com 通过社交化等思路更加拓宽了它的使用场景。
从实用上来说,SVN 对比 git 没有优势。个人的安装使用上,两者一样方便。项目组方面,git 更为容易管理。git 的实现极为可靠和高效,大大地鼓励了多分支开发,git 实践中的 git-flow 等高级的团队工作策略更加让 git 具有极高的价值。
当然,git 在理论上比 svn 有更多的操作,需要学习的概念也多很多。但理解这些绝对是值得的。
最后推荐 SourceTree 软件,它比一般 IDE 中的版本管理要漂亮得多,对于新手来说非常直观和容易学习。
如果没有用到multiple site这种需要异地开发和合并类需求的话,svn就足够了。而且相对简单。
现在大部分都在用git吧
以后提问的时候请注意拼写,并且请不要在没有解决问题的情况下采纳问题,给人刷经验的嫌疑。
这种问题过于开放,不容易有针对地回答,即使回答了也不一定能够得到很多帮助。
我觉得git更加偏向于社交,即你想把你的idea让别人也知道,当然,我指的是 https://github.com/ 。
git用起来挺方便的,除了github的访问速度不是很乐观,整体上是不错的。
svn没怎么用过,但是听说有git-svn这种概念(软件),我觉得掌握一个git对我来说足矣。
其他的等高人回答好了。
应该有很多人都纠结过这个,点这里查看吧。
svn是集中式版本控制系统,一个项目只有唯一的一个版本库与之对应,所有项目成员通过网络向该服务器进行提交。具有轻量级拷贝、保存原始拷贝等功能,存在集中式固有的单点故障、网络延迟等问题。
git为Linus开发的分布式版本控制系统,具有独特的设计,性能高,使用习惯和其他的控制系统差异很大。
参考资料:《Git权威指南》蒋鑫
其实我也有这个疑问。我现在一台win7,一台linux,但是如何才可以让他们一起提交代码共享