首先我表明一个根本的立场,我个人更喜欢用Git,但是,这仅仅是一个个人偏好.当我们需要将一种技术方案带给整个团队的时候,并不是由我们的个人偏好作为主要决定因素,而应该充分去权衡利弊,选择对团队,对公司更有效率的方案.抛开个人立场,理性评估利弊,可能才是我认可的一个资深程序员,或者一个架构师的本分. 我所在的团队,现在选用的技术方案是Git作为全公司的版本控制系统,我们一共有差不多20个程序员,使用五种以上的程序设计语言,研发维护四个左右的项目,属于小型创业公司中,研发规模中等偏上的企业.使用Gi…
版本控制—— SVN & GIT 提问 什么是版本控制? 是能够一直监视代码文件的变更,并存储这些文件以便将来引用的一种机制(软件) 为什么要使用版本控制? (1)记录哪个开发人员做了变更 (2)变更发生的具体时间 (3)实际修订的内容 (4)如果需要,可以恢复特定文件或者整个项目到以前的版本 (5)…… 不使用版本控制还会出现什么问题? 不使用版本控制可能出现的问题 1.备份多个版本,费空间,费时间 2.难于恢复至以前正确版本 3.容易引发BUG 4.解决代码冲突困难 5.代码管理混乱 6.难…
首先介绍几个版本控制软件相互比较的重要依据: a.版本库模型(Repository model):描述了多个源码版本库副本间的关系,有客户端/服务器和分布式两种模式.在客户端/服务器模式下,每一用户通过客户端访问位于服务器的主版本库,每一客户机只需保存它所关注的文件副本,对当前工作副本(working copy)的更改只有在提交到服务器之后,其它用户才能看到对应文件的修改.而在分布式模式下,这些源码版本库副本间是对等的实体,用户的机器除了保存他们的工作副本外,还拥有本地版本库的历史信息. b.并…
svn/git的diff.patch 前几天,正当我突突的写代码,企业微信嘀嘀一声响”在不,过来帮我看个bug”.本人一向助人为乐,高兴的冲了过去,然后就开始了一段长达1分钟的问题描述.很明显,此同学只知道结果不对,并没有找出程序的根本问题. 好吧,心凉了一半,果然是找我来干体力活的.坐定,抬手开始调试代码... 调试开始,打开编辑器,什么,竟然用的大型IDE,好吧,忍了,卡死了.刚写好一句代码,准备按ctrl+B运行,没反应,再按,依然没反应,好吧,看来这兄弟啥也没配置.刚想打开终端,想想算了…
转自:http://blog.csdn.net/huacuilaifa/article/details/19124635 在参加百度的开源项目时接触到Git,后来又陆续在微博上看到很多宣扬Git为程序员的比学工具,于是开始广泛收集了一些Git的电子书籍.网站等着自己“有时间”去消磨,一直拖到现在.由于自己实验室的项目的版本控制一直用的是SVN,先将二者区别总结如下: 1.版本控制的进化        本地版本控制系统                                        …
eclipse中SVN设置 用svn控制版本,svn本身是不会识别哪些该传,哪些不该传,这就导致有些关于路径的东西(比如拓展jar的路径)也被上传了,而当别人下载后,那个路径对于这个人可能完全不存在,项目编译就会出问题.所以,用eclipse安装了svn插件,不能一股脑把android项目都传上去. 1.在eclipse里屏蔽不需要提交的文件Window -> Preferences --> Team -> Ignored Resources                  在右侧添加…
项目开发过程中总有一些奇奇怪怪的需求出现. 我们的项目管理是使用SVN的,用SVN是历史原因,无法整个项目向Git切换.由于我需要管理SVN,做一些代码合并工作.每次合并都会遇到SVN代码需要对比查看,检查代码.经常也需要自己对他们的代码做一些优化.中间优化版本也无法提交,优化多了也可能导致代码出错,感觉整个人都不好了. 所以现在使用SVN+Git协同工作的方式,感觉整个人都好多了. 方法: 先在svn目录中增加ignore属性 举例:svn/trunk/example目录 cd svn/tru…
这篇主要是谈谈两者的区别,至于谁优谁劣看官自己思考吧! 把第一条理解到位思想到位了做起来才会有的放矢,其他几条都是用的时候才能体会到 1) 最核心的区别Git是分布式的,而Svn不是分布的.能理解这点,上手会很容易,声明一点Git并不是目前唯一的分布式版本控制系统,还有比如Mercurial等,所以说它们差不许多.话说回来Git跟Svn一样有自己的集中式版本库和Server端,但Git更倾向于分布式开发,因为每一个开发人员的电脑上都有一个Local Repository,所以即使没有网络也一样可…
windows 文件权限导致的 git 问题 在 windows 上使用 git 时,会遇到明明什么都没有改动,但是 git status 显示一堆文件被修改.这时,通过 git diff 可看到什么文件被修改. 经常遇到的一个问题是文件权限的改变,会看到一堆文件权限从 100755 改到 100644 的提示,但其实什么内容都没有被修改.这种情况下,通过忽略文件权限可处理 :: git config core.filemode=false 修改之后,重新看 git status ,已变回正常.…
造成SVN源代码漏洞的主要原因是管理员操作不规范.在使用SVN管理本地代码过程中,会自动生成一个名为.svn的隐藏文件夹,其中包含重要的源代码信息.但一些网站管理员在发布代码时,不愿意使用‘导出’功能,而是直接复制代码文件夹到WEB服务器上,这就使.svn隐藏文件夹被暴露于外网环境,黑客可以利用该漏洞下载网站的源代码,再从源代码里获得数据库的连接密码:或者通过源代码分析出新的系统漏洞,从而进一步入侵您的系统. 安全建议:删除指定SVN生成的各种文件,如“/.svn/entries”等. 当前大量…