一, Git是一个开源的分布式版本控制系统。
二,Git和SVN的区别
SVN是Subversion的简称,是一个开放源代码的版本控制系统,采用了分支管理系统
Git不只是一个分支管理系统,也是一个内容管理系统(CMS),工作管理系统等等。
Git与SVN的区别点:
1. GIT是分布式的,SVN不是:这是GIT和其他非分布式版本管理系统,例如SVN,CVS等,最核心的区别。GIT现在不是唯一分布式版本控制系统,还有比如Mercurial等。GIT和SVN一样有自己的集中式版本库和Server端,但GIT更倾向于分布式开发,因为每一个开发人员的电脑上都有一个Local Repository, 所有即使没有网络也一样可以commit,查看历史版本记录,创建项目分支等操作,等网络再次连接上Push到Server端。Git的指令很多,需要知道哪些指令在Local Repository,哪些指令在Remote Repository。
2. GIT把内容按元数据方式存储,而SVN是按文件:所有版本控制系统都是把文件的元信息隐藏在一个类似的.svn,.cvs等的文件夹里。.git目录是处于你的机器上的一个克隆版本的版本库,它拥有中心版本库上的所有东西,例如标签,分支,版本记录等。.git目录的体积大小跟.svn比较,会发现差距非常大。
3. GIT分支和SVN的分支不同:分支在SVN中一点都不特别,就是版本库中另外的一个目录。
4. GIT没有一个全局的版本号,而SVN有:目前为止,这是一个跟SVN相比GIT缺少的最大的一个特征。
5. GIT的内容完整性要优于SVN:GIT的内容存储使用的是SHA-1哈希算法。这能确保代码的完整性,确保在遇到磁盘故障时降低对版本库的破坏。
6. Git下载下来后,在OffLine状态下可以看到所有的Log,SVN不可以。
Git 的工作需要调用 curl,zlib,openssl,expat,libiconv 等库的代码,所以需要先安装这些依赖工具。
在 Windows 上安装 Git, Git 没有 ssh 客户端不需要需额外安装
三, Git工作区,暂存区和版本区
1. 工作区:就是你在电脑里能看到的目录
2. 暂存区:英文叫stage或index. 一般存放在“.git目录下”下的index文件(.git/index)中,所以我们把暂存区有时也叫做索引(index)
3. 版本库:工作区也有一个隐藏目录.git,这个不算工作区,而是Git的版本库。
w3cGit向仓库中添加文件流程:
w3c四,创建版本库(git init)
w3c
注意: 没事不要手动修改 .git 目录里面的文件,不然改乱了,可能就把 Git 仓库给破坏了。
git status 命令用于查看项目的当前状态。
git status -s 表示查看简要信息
git add . 命令来添加当前项目的所有文件
w3c w3c修改README文件内容,再次执行git status.
"AM" 状态的意思是,这个文件在我们将它添加到缓存之后又有改动。改动后我们在执行 git add 命令将其添加到缓存中(暂存区).
当你要将你的修改包含在即将提交的快照里的时候,需要执行 git add 文件
w3c五,添加到暂存区(git add)
git add . : 他会监控工作区的状态树,使用它会把工作时的所有变化提交到暂存区,包括文件内容修改(modified)以及新文件(new),但不包括被删除的文件。
git add -u : 他仅监控已经被add的文件(即tracked file), 他会将被修改的文件提交到暂存区。add -u不会提交新文件(untracked file). (git add --update的缩写)
git add -A : 是上面两个功能的合集,也就是说包括删除的文件也会被提交(git add --all的缩写)
网友评论