一、Git基础
1、分布式版本控制系统;
2、集中式版本控制系统和分布式版本控制系统:
-
集中式:版本库集中放在中央服务器
-
分布式:没有“中央服务器”,每个电脑上都是一个完整的版本库。
3、基本操作
-
git初始化
-
git配置
-
使用Git第一件事:设置名字和Email,这是在提交commit时的签名
-
使用git config命令,会在家目录下建立一个.gitconfig的隐藏文件。
-
git config --global user.name ""
-
git config --global user.email ""
-
不带--global选项会在当前的项目目录下创建.git/config,从而使用这对当前项目的配置。
-
获得一个Git仓库
-
从已有的Git仓库clone;
-
Clone一个仓库
-
需要知道项目仓库的地址(Git URL:可以在多种协议下使用,ssh://,http(s)://,git://),
-
使用git clone Git URL
-
新建一个仓库,把未进行版本控制的文件进行版本控制。
-
初始化一个新的仓库
-
创建目录project
-
cd ../..;mkdir project
-
进入到代码目录,创建并初始化Git仓库
-
cd project;git init
-
正常的工作流程
-
git基本流程
-
创建或修改文件
-
使用git add命令添加新创建或修改的文件到本地的缓存区(Index)
-
使用git commit命令提交到本地代码库
-
(可选,有时并没有可以同步的远端代码库)使用git push命令将本地代码库同步到远端代码库
-
常用命令
-
git status:查看当前giit仓库的状态;
-
git diff:比较内容,加上--cached参数,看缓存区中哪些文件被修改了,退出q;没有参数会显示当前所有已做的但没有加入到索引里的修改;
-
git commit:提交,-m添加本次修改的注释。
-
git rm:删除后会自动将已删除的文件信息添加到缓存区,git commit提交后就会将本地仓库中的对应文件删除。
-
git push:同步到远端服务器。
-
分支与合并
-
分支
-
master分支是 Git系统默认创建的主分支,星号标识了当前工作在哪个分之下;
-
git branch:查看当前的分支刘表,以及目前的开发环境处在哪个分支上;-d,删除已被当前分支合并的分支。-D,强制删除某个分支
-
git checout 分支名:切换到其他分支;
-
合并
-
git merge:合并分支到主项分支master,-m注释信息;
-
git reset --hard -HEAD^撤销一个合并,恢复版本;
-
GIt日志
-
git log
-
日志统计:git log --stat
-
格式化日志:git log --pretty=short
-
也可以用medium,full,fuller,email 或raw。 如果这些格式不完全符合你的相求, 你也可以用--pretty=format参数定义格式。
-
--graph 选项可以可视化你的提交图(commit graph),会用ASCII字符来画出一个很漂亮的提交历史(commit history)线。