GIT优势:分布式、多分支、速度快灵活、Git中的绝大多数操作都只需要访问本地文件和资源,不用连网,所以处理起来速度飞快
一、创建项目
git init # 将一个目录初始化为 Git 仓库
git clone [url] # 复制一个git仓库
二、基本快照
git add [file] # 添加文件到缓存
git status -s # 查看你的文件在工作目录与缓存的状态,返回的文件状态 A 添加 D 被删除 M 被修改 R 重命名等
git diff # 显示已写入缓存与已修改但尚未写入缓存的改动的区别
git commit -m 'my hola mundo changes' # 存储缓存内容的快照
# 提交前需要配置git账号
git config --global user.name 'Your Name'
git config --global user.email you@somedomain.com
git reset HEAD -- a.txt # 取消缓存已缓存的内容(将缓存区恢复为我们做出修改之前的样子)
git rm # 将文件从缓存区移除,会同时删除工作目录的文件
三、分支管理
git branch # 查看当前所有分支
git branch [name] # 创建分支
git checkout [name] # 切换到指定分支,在分支1提交的文件不会在分支2看到,切换分支后相应的工作目录文件也会切换
[实例]
git branch -d [name] # 删除分支
git merge [name] # 将name分支的文件内容合并到你的当前分支
git log --oneline [分支name] # 查看commit提交的日志
git tag -a v0.9 # 给当前版本添加标签
四、分享与更新项目
git remote # 列出远程仓库
git remote add [alias] [url] # 添加远程仓库,如 git remote add github git@github.com:schacon/hw.git
git remote rm [alias] # 删除别名alias对应的远程仓库
git fetch [alias] # 从远端仓库下载新分支与数据
git pull # 从远端仓库提取数据并尝试合并到当前分支
git pull origin master:brantest # 将远程主机 origin 的 master 分支拉取过来,与本地的 brantest 分支合并
git push [alias] [branch] # 推送你的新分支与数据到某个远端仓库
五、检查与比较
git log --author # 只寻找某个特定作者的提交
git log --since --before # 根据日期过滤提交记录
git log --grep # 根据提交注释过滤提交记录
GIT文档推荐:http://gitref.justjavac.com/basic/