Git下载:http://git-scm.com/download/win

    1)一直下一步直至安装完成 校验 :git —version 查看版本号

    2)配合github,查看开源项目的代码
    github官网:https://github.com/

    以slf4j为例,它的代码地址:https://github.com/qos-ch/slf4j
    1)找到【clone or download】按钮,点击download zip (并不常用)
    2)git clone + 链接地址 ,代表将远程代码克隆到本地
    例如: git clone https://github.com/qos-ch/slf4j.git
    在命令提示符中,先找到要存储代码的位置,然后执行clone

    直接下载一个项目文件夹到本地,打开项目时,
    可能需要选中Add as Maven Project这一项(pom.xml上右键)

    3)配置git,获取更改的权限。
    配置项:用户名和邮箱 (从github上注册获取)
    命令: git config —list 显示配置列表
    git config —global user.name “${用户名}”
    git config —global user.email “${邮箱}”

    4)可选的配置秘钥,才能使用以git开头的链接地址,
    如git@github.com:qos-ch/slf4j.git (Use SSH按钮)

    a) 在本地生成秘钥
    ssh-keygen -t rsa -C “${邮箱}”
    执行命令后,会提醒你设置文件夹保存key,默认是.ssh文件夹
    不设置密码直接回车后,生成id_rsa.pub秘钥文件
    b) 在github上配置秘钥
    用户右键 -> settings -> SSH and GPG keys -> new ssh key
    c) 验证是否添加成功
    使用ssh -T git@github.com
    或者直接执行 git clone git@github.com:qos-ch/slf4j.git


    四、git使用
    1)仓库,管理项目的最基础目录。

    在github上创建。 然后clone到本地。会提醒这是一个空的仓库。

    a) 创建文件并提交的步骤
    创建新文件后,会询问是否添加到git中,选择是。
    如果文件是红色的,代表没有加入,
    要通过手动添加的方式——> 项目右键 -> Git -> Add
    文件从红色变为绿色,可以提交和推送。
    项目右键 -> git -> commit file -> 在commit message中写上更改的备注 -> 选择commit and push -> 可以在github中看到更改和提交记录。
    文件从绿色变为白色,代表和远程仓库是一致的。


    b) 要对文件进行更改的处理
    在commit file中双击文件,可以查看到修改的内容的(和上一个版本比较)。


    2)查看提交历史
    git -> show history
    展示谁在什么时间进行了什么修改。
    a) 查看某次提交所有相关的文件
    在提交记录上右键 -> show all affected files
    并且双击文件本身,可以查看对应的修改

    3)回退
    文件更改后,状态由白色变为蓝色。
    回退更改 文件右键-> git -> revert -> 确认
    回退提交 执行命令 git reset —hard HEAD~
    —hard代表强制执行
    HEAD~代表上一次提交 ~可以加上数字

    HEAD~2返回上上次提交


    五、git的理论知识
    1)工作区和暂存区
    工作区:就是存放代码的地方 (项目文件夹)
    暂存区:临时存放改动的地方 (通常在新建文件时使用)
    本地仓库:安全存放代码的地方
    远程仓库:(github)

    git add 将代码从工作区 -> 暂存区 (把文件托管git)
    git commit 将代码从暂存区 -> 本地仓库 (存在一笔提交记录)
    git push 将代码从本地仓库 -> 远程仓库 (促进多人合作)

    2) 分支(平行时空)
    互不影响又同时进行的合作方式
    创建仓库时,自动创建一个master主干。
    具体使用场景:
    master 一般用来存放已上线的代码
    开发新的功能时,创建新的分支,每个人使用自己的分支。
    最终还是要合并的。 但是合并分支往往要解决冲突。

    六、分支使用
    1)创建分支
    git branch + {分支名}
    默认拉取master上代码到新创建的分支中

    git checkout + {分支名}

    通过查看git branch结果中 * 所在的位置,来定位分支

    2)合并分支
    master -> test
    首先当前分支是需要合并过来代码的分支(master)
    git merge test 效果是test的最新提交的代码会出现在master中。

    3)冲突解决
    项目右键 -> git -> conflicts resolved
    三个对比框 最左侧是当前分支的代码(master) 最右侧待合并的分支代码(test) 中间想要的合并结果



    4)推送到远程仓库
    git push origin test:test

    test:test 冒号前代表 本地分支的名字

    冒号后代表 远程分支的名字




    七、git仓库
    分为本地仓库和远程仓库
    1)git init 新建一个本地代码库
    2)git clone 从远程拷贝
    拿到远程仓库的修改 git pull(拉取)
    提交给远程仓库修改 git push(推送)

    如果要创建一个自己的分支 确认要拉取代码的分支
    确保是最新代码 git pull
    然后执行创建分支的流程(从master拉取)
    如果需要,再合并一次代码

    写好代码后,再推送给远程仓库
    让代码可以上线,将分支代码再合并回master中