Git学习笔记

参考: 廖雪峰Git教程

在某个目录下输入 git init 命令可变成 git 管理的仓库

假设本地已有 XXX 等文件,现在登录 Github 账户,create a new repo,创建一个新的仓库XXX. 根据 Github 的提示,在本地的 XXX 仓库下运行命令:

将本地库内容推送远程,用 git push 命令. -u是首次推送使用的,之后只要本地提交后,就可以通过命令: git push origin master

假设此时 Github 上已有完整的仓库 XXX,我们可以从远程库克隆,在适当的目录下输入命令

也可以用 https://github.com/ghzphy/XXX.git 这样的地址,不过这种速度慢,而且每次推送都必须输入口令。但是在某些只开放 http 端口的公司内部就无法使用 ssh 协议而只能用 https。

在 Git 中,用HEAD表示当前版本,上一个版本是HEAD^,上上一个是HEAD^^,依次多一个^。我们将当前版本回退到上一个版本,命令为:

查看 Git 中的大小写敏感

更改大小写设置 git config core.ignorecase false

SVN

SVN是subversion的缩写,是一个开放源代码的版本控制系统,通过采用分支管理系统的高效管理,简而言之就是用于多个人共同开发同一个项目,实现共享资源,实现最终集中式的管理。

 

 优点缺点
SVN1、采用集中式,易于管理,保证安全性;
2、管理方便,逻辑明确,理念符合常规思维;
3、代码的一致性高;
4、适合人数不多的项目开发;
5、允许一个文件有任意多的可命名属性,会关注所有的文件类型;
6、支持二进制文件,更容易处理大文件;
7、支持空目录。
1、服务器压力太大,数据库容量暴增;
2、必须连接在服务器上,否则基本不能工作、提交、对比、还原等;
3、不适合开源开发。
GIT1、适合分布式开发,强调个体;
2、公共的服务器压力和数量都不会太大;
3、速度快, 成熟的架构,开发灵活;4、任意两个开发者之间可以很容易的解决冲突;5、离线工作,管理代码成本低,不需要依赖服务器;
6、部署方便。基本上下个命令就可以用;
7、良好的分支机制,可以让主干代码保持干净。
1、资料少,学习成本比较大,学习周期比较长,要求人员素质比较高;
2、不符合常规思维;
3、代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息。