大家好!我是未来村村长,就是那个“请你跟我这样做,我就跟你这样做!”的村长????????!
||To Do||????????
未来村村长正推出一系列【To Do】文章,该系列文章重要是对Java开发方法的整理,便于在开发项目过程中及时回顾,提升个人开发实践能力。主要面向Java开发,总结常用的框架或中间件的使用方法。
文章目录
- ||To Do||????????
- 一、Git
- 1、Git概述
- 2、Git的下载
- 3、Git原理
- 4、Git的使用
- (1)初始化本地库
- (2)创建项目文件
- (3)添加暂存区
- (4)添加到本地库
- (5)修改文件
- (6)版本回溯
- 5、Git的分支
- (1)创建分支
- (2)切换分支
- (3)修改分支文件内容
- (4)合并分支内容
- (5)合并冲突
- 二、GitHub
- 1、GitHub远程库的使用
- (1)创建远程库
- (2)注册远程库
- (3)推送远程库
- (4)拉取远程库
- 2、团队协作
- (1)远程库克隆
- (2)协作
- 3、跨团队协作
- (1)创建fork
- (2)Pull requests
- 4、SSH免密登录
- (1)生成SSH密钥
- (2)SSH公钥添加
- 三、IDEA整合
- 1、环境准备[无差别IDE]
- (1)创建忽略规则文件
- (2)配置引用忽略规则文件
- (3)IDEA中配置Git
- 2、集成Git使用
- (1)初始化本地库
- (2)提交到本地库
- (3)版本选择
- (4)分支使用
- 3、集成GitHub使用
- (1)登录GitHub账号
- (2)分享项目
- (2)修改推送
- (3)代码拉取
- (4)项目克隆
一、Git
1、Git概述
Git是免费、开源的分布式版本控制系统,版本控制是记录文件内容的变化,以便查阅特定版本修订情况,并且可以记录各个版本的文件内容,便于版本切换。
git官网:https://git-scm.com/
2、Git的下载
可以去官网下载,也可以使用淘宝镜像下载:http://npm.taobao.org/mirrors/git-for-windows/
3、Git原理
Git将存储区域分为三个部分:
- 工作区:项目代码磁盘存放位置
- 暂存区:临时存放
- 本地库:所有已提交版本代码
使用Git的流程:我们在工作目录中添加、修改文件,将需要进行版本管理的文件放入暂存区域,最后将暂存区域的文件提交到git仓库。
除此我们还可以将本地库的代码push到远程库:Gitee、GitHub或GitLab。
4、Git的使用
Git常用命令如下:[Git命令控制器下可以使用Linux命令进行操作]
git config --global user.name 用户名 #设置用户名
git config --global user.email 邮箱 #设置用户邮箱
git init #初始化本地库
git status #查看本地库状态
git add 文件名 #添加文件到暂存区
git rm --cached 文件名 #移除暂存区
git commit -m "版本名" 文件名 #提交到本地库
git reflog #查看历史记录
git reset --hard 版本对应id #版本选择
在使用之前我们需要通过git config --global设置我们的用户名和邮箱,这是为了识别本地提交的人员身份,这是必须要完成的。
(1)初始化本地库
我们在项目所在文件夹中,单击右键,通过Git Bash Here打开Git命令控制行,然后执行以下命令。
git init
则目录中会添加.git文件,表示该目录已经初始化建立了Git仓库,可以通过Git进行管理。我们可以通过以下命令查看Git仓库的状态。
git status
(2)创建项目文件
我们使用一个gittest.txt文件代替代码文件,此时通过git status查看Git仓库状态为:
(3)添加暂存区
现在我们把gittest.txt文件放到暂存区。
git add gittest.txt
此时文件已经绿了。如果我们不小心提交错了,可以将文件从暂存区移除。
git rm --cached gittest.txt
此时文件就红了。
(4)添加到本地库
添加到暂存库后,我们就可以将其添加到本地库
git commit -m "版本号1" gittest.txt
可以通过以下命令可以查看详细版本记录。
git log
此处HEAD -> master代表该版本存放在主干分支。
(5)修改文件
我们将gittest.txt进行修改,再次查看本地库信息。
git仓库很快就发现了文件modified,被修改了,提醒你该文件还没有上传到暂存区,此时可以将该文件添加到暂存区,再次提交到本地库。
这里会提示有一个文件发生了变化,两行新增,一行删除。此时我们查看版本记录。
git reflog
(6)版本回溯
当我们当前版本的代码不如旧版本好用时,需要进行版本选择,也就是文件内容重新选择不同的版本,可以通过以下命令实现。
git reset --hard b5d4f24
此时该文件目录下的文件内容[工作区]也会进行版本回溯。
5、Git的分支
使用分支可以并行推进多个功能的开发,提高开发效率,某一分支开发失败对其它分支不会造成影响,相当于线程隔离。
#创建分支
git branch 分支名
#查看分支
git branch -v
#切换分支
git checkout 分支名
#将指定分支合并到当前分支
git merge 分支名
# 删除分支(不能再在前分支删除当前分支)
git branch -d [branch-name]
git branch -D [branch-name]#强制删除
(1)创建分支
当团队多了一个协作者,我们要保持主干分支的文件状态,则可以为其创建一个分支。
git branch author2
(2)切换分支
我们创建分支以后,如果要操作相应分支的代码,就需要切换分支。
git checkout author2
(3)修改分支文件内容
切换分支以后,就可以在该分支基础上去修改文件的内容,修改以后通过以下命令进行文件本地库的上传。
git add gittest.txt
git commit -m "版本号3" gittest.txt
(4)合并分支内容
我们修改好了,发现测试能够正常运行了,就可以合并到主干分支了,这时我们要通过git checkout master切换到master分支,再执行以下命令进行分支的合并。
git merge master
此时master主干的本地库和工作区的文件内容都已经进行了修改。
(5)合并冲突
当我们三个人同时协作时,为两个人开辟了两个分支,当两个分支对同一个文件的同一位置有两套完全不同的修改,Git无法替我们决定使用哪一个,必须认为决定新文件内容。
此时我们需要到文件中进行认为修改,修改以后还是需要通过add和commit进行提交。
二、GitHub
Git只是对本地代码的版本管理,团队协作还得使用远程库。
GitHub网址:https://github.com/
1、GitHub远程库的使用
(1)创建远程库
点击右上角的➕,选择New repository,进行远程库的创建。
将Repository name的名字修改为本地库的名字(使用git初始化的项目文件)。
点击Create repository进行远程库的创建,就会生成两个连接HTTPS和SSH。
(2)注册远程库
可以通过以下命令进行远程库的注册。
#远程库注册
git remote add 远程库名 HTTPS链接/SSH链接
#查看远程库
git remote -v
(3)推送远程库
可以通过以下命令进行本地库到远程库的文件推送。再推送本地库之前需要经历初始化git并将工作区文件提交到暂存区,然后提交到本地库,才能进行推送。
git push 远程库名[HTTPS链接或SSH链接] 分支名[主分支为master]
(4)拉取远程库
当远程库和本地库的代码不一致,我们希望使用远程库代码时,可以进行拉取操作,拉取后自动提交本地库。
git pull 远程库名[HTTPS链接或SSH链接] 分支名[主分支为master]
2、团队协作
(1)远程库克隆
如果要获取远程库的代码,只需要通过以下命令进行。
git clone HTTPS链接[或SSH链接]
该命令会完成三件事:1、代码的拉取;2、本地库的初始化;3、创建别名
(2)协作
协作之前,需要在项目的Settings中添加Collaborators,添加以后就可以通过git push进行提交了。
3、跨团队协作
(1)创建fork
到别人的项目中,点击右上角的Fork进行创建。
此处创建的Fork,是项目仓库的复制版本。
(2)Pull requests
我们将修改的代码提交到fork库,然后通过Pull request进行提交申请。
4、SSH免密登录
SSH是免密登录协议,我们在Window本地生成SSH密钥,然后到GitHub上进行注册,之后的操作就不需要进行登录了。
(1)生成SSH密钥
通过以下命令生成SSH密钥。
ssh-keygen -t rsa -C [github注册邮箱账号]
到Widows的用户目录下的相应用户目录找到id_rsa.pub文件,打开拿到SSH Key,然后查看并复制公钥。
(2)SSH公钥添加
到用户设置的SSH and GPG keys中创建SSH公钥,然后将id_rsa.pub的内容复制到相应位置进行公钥创建添加。之后就能通过SSH进行git pull和git push操作了。
三、IDEA整合
1、环境准备[无差别IDE]
使用IDEA创建文件时,会加载以下文件(.idea和.iml),当IDEA版本或环境配置不同时,会导致从远程库拉取的代码无法运行,我们需要忽略这些文件。
(1)创建忽略规则文件
创建一个txt文件,写入以下内容,然后改名为git.ignore,我们把其放到用户目录下
#idea
.idea
.idea/*
*.iml
# Package file
*.war
*.rar
*.tar.gz
*.jar
*.zip
*.ear
*.nar
(2)配置引用忽略规则文件
在用户目录下有一个.gitconfig文件,我们需要在该文件中设置引用,加入以下内容。
[core]
excludesfile = C:/Users/官二的磊子/git.ignore
(3)IDEA中配置Git
在IDEA的settings中,找到Version Control,配置相应的执行文件路径。
2、集成Git使用
(1)初始化本地库
(2)提交到本地库
Add是提交到暂存库,我们可以直接使用commit进行本地库的提交。
(3)版本选择
(4)分支使用
New Branch创建分支。
点击相应分支,选择Checkout,切换Head指向的分支。
选择分支修改版本,进行Merge。
3、集成GitHub使用
(1)登录GitHub账号
我们使用账号密码登录几乎很难成功,我们可以通过Token登录。
我们到GitHub中Settings/Developer settings进行相关设置,生成Token后就能进行登录了。
(2)分享项目
可以通过Share Project on GitHub直接将项目分享到GitHub。
(2)修改推送
Push是进行推送,Pull是进行拉取。
Push推荐使用SSH进行,通过Define Remote来建立SSH链接。
选择相应的别名进行push。
(3)代码拉取
一般团队协作下,我们都需要先进行pull,拉取最新版本的代码,然后再进行修改。
(4)项目克隆
当我们第一次参与项目,或者我们想学习一下别人的开源项目,就需要克隆。