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中