为什么需要版本控制?-本地版本控制-集中式-分布式
上面基础问题参考下面的链接:
http://blog.csdn.net/huaishu/article/details/50475175
http://blog.csdn.net/w13770269691/article/details/38705473/
http://blog.jobbole.com/tag/git/
GitLab 是一个用于仓库管理系统的开源项目。使用Git作为代码管理工具,并在此基础上搭建起来的web服务。可通过Web界面进行访问公开的或者私人项目。它拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。
基本的 Git 工作流程如下:
1. 在工作目录中修改某些文件。
2. 对修改后的文件进行快照,然后保存到暂存区域。
3. 提交更新,将保存在暂存区域的文件快照永久转储到 Git 目录中。
所以,我们可以从文件所处的位置来判断状态:如果是 Git 目录中保存着的特定版本文件,就属于已提交状态;如果作了修改并已放入暂存区域,就属于已暂存状态;如果自上次取出后,作了修改但还没有放到暂存区域,就 是已修改状态。
一些基本的命令:
l 在工作目录中初始化新仓库- $ git init
l 从现有仓库克隆- git clone git://github.com/schacon/grit.git
这会在当前目录下创建一个名为“grit”的目录,其中包含一个 .git 的目录,用于保存下载下来的所有版本记录,然后从中取出最新版本的文件拷贝。
l 工作目录下面的所有文件都不外乎这两种状态:已跟踪或未跟踪
l 检查文件状态- git status
l git add 开始跟踪一个新文件
l 暂存已修改文件—同样适用 git add
l 创建一个名为 .gitignore 的文件,列出要忽略的文件模式
l 查看已暂存和未暂存的更新- git diff
此命令比较的是工作目录中当前文件和暂存区域快照之间的差异,也就是修改之后还没有暂存起来的变化内容。
若要看已经暂存起来的文件和上次提交时的快照之间的差异,可以用 git diff --cached 命令。
l 提交更新-先用git status 看下,是不是都已暂存起来了,然后再运行提交命令 git commit
l 另外也可以用 -m 参数后跟提交说明的方式,在一行命令中提交更新- git commit -m "Story 182: Fix benchmarks forspeed"
l 移除文件-本地删除+ git rm grit.gemspec
l 把文件从 Git 仓库中删除(亦即从暂存区域移除),但仍然希望保留在当前工作目录中- git rm --cached readme.txt
l 查看提交历史: git log
git log 会按提交时间列出所有的更新,最近的更新排在最上面。看到了吗,每次更新都有一个SHA-1 校验和、作者的名字和电子邮件地址、提交时间,最后缩进一个段落显示提交说明