可以看廖雪峰的教程,讲的挺有意思https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/00137602359178794d966923e5c4134bc8bf98dfb03aea3000
Git 与 SVN 区别
Git 不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等。
区别:
1. git: 分布式 svn:集中式
2、Git 把内容按元数据方式存储,而 SVN 是按文件:所有的资源控制系统都是把文件的元信息隐藏在一个类似 .svn、.cvs 等的文件夹里。
-
3、Git 分支和 SVN 的分支不同:分支在 SVN 中一点都不特别,其实它就是版本库中的另外一个目录。
-
4、Git 没有一个全局的版本号,而 SVN 有:目前为止这是跟 SVN 相比 Git 缺少的最大的一个特征。
-
5、Git 的内容完整性要优于 SVN:Git 的内容存储使用的是 SHA-1 哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。
Git 工作区、暂存区和版本库
git创建仓库:
1.初始化: git init
git init newrepo(在文件夹newrepo中创建仓库)
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
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 将缓存区内容添加到仓库中
j: git rm
如果只是简单地从工作目录中手工删除文件,运行 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
git mv 命令用于移动或重命名一个文件、目录、软连接。
我们先把刚移除的 README 添加回来:
$ git add README
然后对其重名:
$ git mv README README.md
$ ls
README.md
Git 远程仓库(Github):
http://www.runoob.com/git/git-remote-repo.html