什么是GIT
Git是目前世界上最先进的分布式版本控制系统。这学期的软件构造课使用git进行代码的管理,对于git的优越性是深有感触。
下面先用一张图解释一下git的大致的工作流程。
git有几个状态,为modified、staged、commite等状态。这些状态可对应于这几个区域:Workspace–工作区、Index / Stage–暂存区、Repository–仓库区(或本地仓库)、Remote–远程仓库。
根据老师的介绍,git里使用的是一种树结构,每一次的git提交实际上都是对于节点的操作。这种树结构实际上便于对各个历史版本(节点)的溯源。
git还具有一下几个优点:
保存点:Git的保存点可以追踪源码中的文件, 并能得到某一个时间点上的整个工程项目的状态;可以在该保存点将多人提交的源码合并, 也可以回退到某一个保存点上。
Git离线操作性:Git可以离线进行代码提交,因此它称得上是完全的分布式处理,Git所有的操作不需要在线进行;这意味着Git的速度要比SVN等工具快得多,因为SVN等工具需要在线时才能操作,如果网络环境不好, 提交代码会变得非常缓慢。
Git的分支和合并:分支模型是Git最显著的特点,因为这改变了开发者的开发模式,SVN等版本控制工具将每个分支都要放在不同的目录中,Git可以在同一个目录中切换不同的分支。
分支即时性:创建和切换分支几乎是同时进行的,用户可以上传一部分分支,另外一部分分支可以隐藏在本地,不必将所有的分支都上传到GitHub中去。
Git的常用命令
git init
用 git init 在目录中创建新的 Git 仓库。 你可以在任何时候、任何目录中这么做,完全是本地化的。在目录中执行 git init,就可以创建一个 Git 仓库了。
git add xx命令可以将xx文件添加到暂存区,如果有很多改动可以通过 git add -A .来一次添加所有改变的文件。注意 -A 选项后面还有一个句点。 git add -A表示添加所有内容, git add . 表示添加新文件和编辑过的文件不包括删除的文件; git add -u 表示添加编辑或者删除的文件,不包括新添加的文件
git add
将文件添加到缓存。这时文件只是保存在缓存区,还没真正进入git仓库。
git commit -m
将处于暂存区的文件发送到仓库。不过注意的是,这里的仓库是本地仓库。