一、什么是Git
1.定义
一个开源的分布式版本控制系统。CSV、SVN等采用集中式管理,Git采用分布式分布式的。
2.Git与SVN的区别
两者最大的区别:分布式管理开发者可以本地提交,每个开发者的机器上都有一个服务器的数据库。
二、Git的工作流程
一般流程
- 拉取pull远程资源到本地;
- 在本地资源修改;
- 修改完查看;
- 提交commit;
- 如发现冲突等则解决,解决后再次commit;
- 推送push到远程资源库;
三、基本操作及常用命令
1.git init
创建仓库
该命令执行完后会在当前目录生成一个.git目录,该目录包含资源的所有元数据。
例如:
2.git init myFileDir
使用指定的目录作为仓库
3.git clone <url>
从Git仓库中拷贝项目(类似于svn的check out)
例如:获取与创建项目
$ mkdir mypro $ cd mypro $ git init
4.git add <filename> <filename2>
将文件添加到缓存
5.git status
查看在你上次提交后是否有修改
git status -s
显示简要信息
6.git diff
查看执行 git status 的结果的详细信息
- 尚未缓存的的改动:git diff
- 已经缓存的改动:git diff -cached
- 所有的改动(已缓存和未缓存):git diff HEAD
- 显示摘要:git diff -stat
7.git commit
使用git add将修改写入缓存,git commit将缓存中的内容添加到仓库中
例如:
$ git commit -m '提交描述信息'
8.git reset HEAD
取消已缓存的内容
例如:修改文件1.txt、2.txt,并提交到缓存,修改后想取消其中一个的缓存
$ git status -s M 1.txt M 2.txt $ git add . $ git status -s M 1.txt M 2.txt $ git reset HEAD -- 1.txt Unstaged changes after reset: M 1.txt $ git status -s M 2.txt M 1.txt
现在你执行 git commit,只会将2.txt文件的改动提交,而1.txt不提交。
9.git rm
移除指定的缓存
10. git branch
列出你在本地的所有分支,以及标识你当前所在分支
10.1 git branch (branchname)
创建新的分支
10.2 git branch -d (branchname)
删除分支
11.git checkout (branchname)
切换分支
12.git merge
合并分支
$ git branch * master newbranch $ git merge newbranch
当前在master分支,将newbranch分支合并到master上
13. git log
查看提交历史
综上,介绍了Git的一些主要常用命令,还有很多未一一陈列,待后续追加,敬请关注。