一.Git介绍
1.Git介绍
Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。 Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
2.Git与SVN的对比:
- Git是分布式的SCM,SVN是集中式的
- Git每个历史版本都存储完整的文件,SVN存储文件差异
- Git可离线完成大部分操作,SVN则相反
- Git有着更优雅的分支和合并实现
- Git有着更强的撤销修改和修改版本历史的能力
二.Git安装与简单配置
1.查看本机安装哪些版本的Git
charies:~ weichuang$ which -a git
/usr/bin/git
/usr/local/git/bin/git
2.Git最基本的配置
- git config –global user.name ricky
- git config –global user.email wcshinestar@gmail.com
3.Git配置的三个级别
- config config –system
- config config –global
- config config –local
4.Git配置的增删改查
- 增:git config –global –add user.name david
- 查:git config user.name或者 git config –get user.name或者git config –list –global
- 删:git config –global –unset user.name
5.为Git子命令配置别名
- git config –global alias.co checkout使用co代替checkout
6.查看Git文档
- git config –help
- git help config
- man git -config
三.Git基本的工作流程
1.Git使用40个16进制字符的SHA-1 Hash来唯一标识对象
- blob:文本文件或二进制文件
- tree:可以理解为目录
- commit:代表一个历史提交
- tag:指向一个固定的历史提交
2.获取Git仓库
<1>Git仓库分为两种:
裸仓库:不带工作区,通常用作服务器上方便其他用户进行协作
<2>创建两种类型仓库:
- 非裸仓库:
git init 库名
charies:Desktop weichuang$ mkdir git
charies:Desktop weichuang$ cd git
charies:git weichuang$ git init non_bare
Initialized empty Git repository in /Users/weichuang/Desktop/git/non_bare/.git/
charies:git weichuang$ ls
non_bare
charies:git weichuang$ cd non_bare
charies:non_bare weichuang$ ls
charies:non_bare weichuang$ cd .git
charies:.git weichuang$ ls
HEAD config hooks objects
branches description info refs
- 裸仓库(不带工作区):
git init --bare 库名
charies:.git weichuang$ git init --bare git_bare
Initialized empty Git repository in /Users/weichuang/Desktop/git/non_bare/.git/git_bare/
charies:.git weichuang$ cd git_bare
charies:git_bare weichuang$ ls
HEAD config hooks objects
branches description info refs
3.对于已经有的工作环境,怎么把它纳入Git的管理呢?git init
charies:git weichuang$ mkdir empty
charies:git weichuang$ cd empty
charies:empty weichuang$ git init
Initialized empty Git repository in /Users/weichuang/Desktop/git/empty/.git/
4.获取仓库
使用git clone
来获取仓库,通常它需要远程裸仓库的地址
用法:git clone remoteAddr(远程裸仓库的地址) [克隆过来仓库的别名]
charies:git weichuang$ git clone 源库名 新的库名
Cloning into 'clone'...
warning: You appear to have cloned an empty repository.
done.
charies:git weichuang$ ls
bare clone empty non_bare
5.Git区域有三个区域:working directory(工作区:日常编辑代码的地方,维护着树形结构)、staging area(暂存区:是工作区和历史提交中间的缓存,代表的是提交的工作状态)、history repository(历史仓库)
- git add:将文件添加到暂存区中
git add a_file
.将工作区中的文件全部添加到暂存区中,使用git add -A
- git commit:提交文件
git commit -m "Initial commit"
引号中是提交的信息 - git status
- git rm
- git mv
- gitignore:创建”.gitignore”文件
四.Git暂存区
Git工作区,即(.git/)