一直听说,大致知道是干什么的,一直由于懒惰没有去深入了解
版本控制
版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。
分为本地版本控制系统、集中化的版本控制系统和分布式版本控制系统。
前两者的问题是整个项目的历史记录被保存在单一位置,因此存在丢失所有历史更新记录的风险。git属于第三种,客户端并不只提取最新版本的文件快照,而是把代码仓库完整地镜像下来。
git基础
直接记录快照,而非差异比较。
近乎所有操作都是本地执行。
Git 中所有数据在存储前都计算校验和,然后以校验和来引用。
一般只添加数据。
Git 有三种状态,你的文件可能处于其中之一:已提交(committed)、已修改(modified)和已暂存(staged)。已提交表示数据已经安全的保存在本地数据库中。 已修改表示修改了文件,但还没保存到数据库中。 已暂存表示对一个已修改文件的当前版本做了标记,使之包含在下次提交的快照中。
安装
windows下
http://git-scm.com/download/win
配置
git config 的工具
基本命令
获取git仓库
在现有项目或目录下导入所有文件到 Git 中
从一个服务器克隆一个现有的 Git 仓库
记录每次更新到仓库
工作目录下的每一个文件都不外乎这两种状态:已跟踪或未跟踪。
- 检查当前文件状态
- 跟踪新文件
- 暂存已修改文件
- 状态简览
- 忽略文件
- 查看已暂存和未暂存的修改
- 提交更新
- 跳过使用暂存区域
- 移除文件
- 移动文件
查看提交历史
撤消操作
- 取消暂存的文件
- 撤消对文件的修改
远程仓库的使用
远程仓库是指托管在因特网或其他网络中的你的项目的版本库。
- 查看远程仓库
- 添加远程仓库
- 从远程仓库中抓取与拉取
- 推送到远程仓库
- 查看远程仓库
- 远程仓库的移除与重命名
打标签
- 列出标签
- 创建标签
Git 别名
$ git config --global alias.co checkout
$ git config --global alias.br branch
$ git config --global alias.ci commit
$ git config --global alias.st status
意味着,当要输入 git commit 时,只需要输入 git ci。
Git 分支
使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线。
Git 鼓励在工作流程中频繁地使用分支与合并