Git 不单单是个版本控制系统,它也是个内容管理系统(CMS),工做管理系统等。php
区别:html
1. git: 分布式 svn:集中式git
二、Git 把内容按元数据方式存储,而 SVN 是按文件:全部的资源控制系统都是把文件的元信息隐藏在一个相似 .svn、.cvs 等的文件夹里。算法
三、Git 分支和 SVN 的分支不一样:分支在 SVN 中一点都不特别,其实它就是版本库中的另一个目录。vim
四、Git 没有一个全局的版本号,而 SVN 有:目前为止这是跟 SVN 相比 Git 缺乏的最大的一个特征。缓存
五、Git 的内容完整性要优于 SVN:Git 的内容存储使用的是 SHA-1 哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时下降对版本库的破坏。网络
git建立仓库:分布式
1.初始化: git initsvn
git init newrepo(在文件夹newrepo中建立仓库)url
2.克隆:git clone newrepo directory (克隆newrepo(git仓库) 到新的文件夹 directory(本地目录))
3.建立文件夹: mkdir runoob(建立文件夹runoob)
cd runoob/(打开文件夹)
4.若是你须要与他人合做一个项目,或者想要复制一个项目,看看代码,你就能够克隆那个项目。 执行命令:
git clone [url]
5.添加文件:
http://www.runoob.com/git/git-basic-operations.html
a.touch README (建立README文件)
b. touch hello.php (建立hello.php文件)
c. ls(查看
d. git status -s
git status 以查看在你上次提交以后是否有修改。 加 -s 参数,以得到简短的结果输出。
e.git add README hello.php(确保README hello.php 文件建立 且路径正确 git add 命令将想要快照的内容写入缓存区)
f. git status -s
g. 修改: vim README
h.git diff
i: git commit 将缓存区内容添加到仓库中
若是只是简单地从工做目录中手工删除文件,运行 git status 时就会在 Changes not staged for commit 的提示。
要从 Git 中移除某个文件,就必需要从已跟踪文件清单中移除,而后提交。能够用如下命令完成此项工做
git rm <file>
若是删除以前修改过而且已经放到暂存区域的话,则必需要用强制删除选项 -f
git rm -f <file>
若是把文件从暂存区域移除,但仍然但愿保留在当前工做目录中,换句话说,仅是从跟踪清单中删除,使用 --cached 选项便可
git rm --cached <file>
如咱们删除 hello.php文件:
$ git rm hello.php rm 'hello.php' $ ls README
不从工做区中删除文件:
$ git rm --cached README rm 'README' $ ls README
能够递归删除,即若是后面跟的是一个目录作为参数,则会递归删除整个目录中的全部子目录和文件:
git rm –r *
进入某个目录中,执行此语句,会删除该目录下的全部文件和子目录。
git mv 命令用于移动或重命名一个文件、目录、软链接。
咱们先把刚移除的 README 添加回来:
$ git add README
而后对其重名:
$ git mv README README.md $ ls README.md
http://www.runoob.com/git/git-remote-repo.html
