1、工作流程
克隆git资源作为工作目录
在克隆的资源上添加或修改文件
如果其他人修改了,可以更新资源
提交前查看修改
提交修改
在修改完成后,如果发现错误,可以撤回提交并再次修改并提交
git资源为工作目录---->克隆资源上进行添加修改----->更新资源----->提交前查看修改----->提交修改------>有错误可以撤回并再次修改
2、三个区的了解
工作区:就是在自己电脑里面能看到的目录
暂存区:stage或index,一般存放在“.git目录下”下的index文件(.git/index)中
版本库:工作区有一个隐藏目录.git,为版本库
3、仓库使用
git clone 时,可以所用不同的协议,包括 ssh, git, https 等,其中最常用的是 ssh,因为速度较快,还可以配置公钥免输入密码。各种写法如下:
git clone git@github.com:fsliurujie/test.git --SSH协议
git clone git://github.com/fsliurujie/test.git --GIT协议
git clone https://github.com/fsliurujie/test.git --HTTPS协议
git status
git status 以查看在你上次提交之后是否有修改。
我演示该命令的时候加了 -s 参数,以获得简短的结果输出。如果没加该参数会详细输出内容
git diff
执行 git diff 来查看执行 git status 的结果的详细信息。
git diff 命令显示已写入缓存与已修改但尚未写入缓存的改动的区别。git diff 有两个主要的应用场景。
- 尚未缓存的改动:git diff
- 查看已缓存的改动: git diff --cached
- 查看已缓存的与未缓存的所有改动:git diff HEAD
- 显示摘要而非整个 diff:git diff --stat
git reset HEAD <file>
git reset HEAD 命令用于取消已缓存的内容。
git rm <file>
只是简单的从工作目录手工删除
git rm -f <file>
强制删除
git rm --cached <file>
从暂存区域移除。但仍然保存在当前工作目录中
git mv <file>
移动或重命名文件、目录、软链接
4、分支管理
创建分支命令:git branch <branchname>
切换分支命令:git checkout <branchname>
合并分支命令:git merge
创建新分支并立即切换到该分支下:git checkout -b <branchname>
删除分支:git branch -d <branchname>
合并冲突:手动修改命名相同的文件,并git add告诉Git文件冲突已经解决
5、查看提交历史
Git提交了若干更新,或克隆某个项目后,回顾提交历史:git log
查看历史记录的简介版本:git log --oneline
查看历史中什么时候出现了分支、合并:git log --graph
逆向显示所有日志:git log --reverse --oneline
指定用户提交日志:git log --author=<name>
git log --oneline --before={3.weeks.ago} --after={2010-04-18} --no-merges
更多命令尽在:http://git-scm.com/docs/git-log