git初识

目录

git初识:

介绍:

版本控制器!!
完成 协同开发 项目,帮助程序员整合代码

软件:SVN 、 GIT

git:集群化、多分支

版本控制器 - 控制的对象是开发的项目代码
代码开发时间轴:需求1 > 版本库1 > 需求2 > 版本库2 > 版本库1 > 版本库2

git 与SVN 区别:

SVN : 服务端    客服端  (不能直接交互) 一对多

--》服务器 炸了--》 数据丢失

GIT: 服务端    客服端 (多对多)
--》客服端可作为临时 服务端

安装:
1.下载对应版本:https://git-scm.com/download
2.安装git:在选取安装路径的下一步选取 Use a TrueType font in all console windows 选项


git 工作流程:

工作区   -------》  暂存区  -----》  服务端(管理) 交互(socket)    《----服务端(管理)

工作流程:

git初识

基础命令:

1.将已有的文件夹 - 初始化为git仓库:
    cd 目标文件夹内部
    git init    

2.在指定目录下 - 初始化git仓库
     cd 目标目录
    git init 仓库名

3.在仓库目录终端下 - 设置全局用户
    git config --global user.name '用户名'
    git config --global user.email '用户邮箱'

注:在全局文件 C:\Users\用户文件夹\.gitconfig新建用户信息,在所有仓库下都可以使用(默认)

4.在仓库目录终端下 - 设置局部用户
    git config user.name '用户名'
    -- 用户名
    git config user.email '用户邮箱'
    -- 用户邮箱
注:在当前仓库下的config新建用户信息,只能在当前仓库下使用
注:一个仓库有局部用户,优先使用局部用户,没有配置再找全局用户
    
5.  查看仓库状态:
    当仓库中有文件增加、删除、修改,都可以在仓库状态中查看
    >: git status  
        -- 查看仓库状态
    >: git status -s  
        -- 查看仓库状态的简约显示


--> 工作区操作:
    通过任何方式完成的文件删与改
    空文件夹不会被git记录
    
6.撤销工作区操作:改、删:

    >: git checkout .
        -- 撤销所有暂存区的提交
    >: git checkout 文件名
        -- 撤销某一文件的暂存区提交

7.  工作区内容提交到暂存区:
    >: git add .  
        -- 添加项目中所有文件
    >: git add 文件名  
        -- 添加指定文件
        
8. 撤销暂存区提交:add的逆运算:
    >: git reset HEAD .
    -- 撤销所有暂存区的提交
    >: git reset 文件名
        -- 撤销某一文件的暂存区提交

9.提交暂存区内容到版本库:

    git commit -m "版本描述信息"  # 信息要明确

10.撤销版本库提交:commit的逆运算

回滚暂存区已经提交到版本库的操作:
    查看历史版本:
        >: git log
        >: git reflog
    查看时间点之前|之后的日志:
        >: git log --after 2018-6-1
        >: git log --before 2018-6-1
        >: git reflog --after 2018-6-1
        >: git reflog --before 2018-6-1
    查看指定开发者日志
        >: git log --author author_name
        >: git reflog --author author_name
    回滚到指定版本:
        回滚到上一个版本:
            >: git reset --hard HEAD^
            >: git reset --hard HEAD~
        回滚到上三个版本:
            >: git reset --hard HEAD^^^
            >: git reset --hard HEAD~3
        回滚到指定版本号的版本:
            >: git reset --hard 版本号
            >: eg: git reset --hard 35cb292