文章目录
前言
本文介绍了GIt,GitHub,Gitee的使用,与IDEA的Git配置,跟着文章来做你很快就能学会操作Git,利用其进行版本控制与代码托管,学习Git的使用、Git常用命令、Git分支,分支是团队协作的基础,介绍了团队内,外协作和Github远程仓库的操作、使用IDEA中的Git、IDEA中GIt的使用、在IDEA中登录GitHub、将项目分享到Github、将项目推送到Github、将远程仓库拉取到本地、将GIthub项目克隆到本地,GIthub操作、Gitee的使用,IDEA使用Gitee,将Gitee代码拉取到本地、Gitee导入Github项目的操作,看完文章并多加练习,掌握它,代表着你已经完成了GIt系列课程的学习。
一、Git引入与安装使用
(一) Git介绍
Git是一个免费的、开源的分布式版本控制系统,可以快速高效地处理从小型到大型的各种项目。易于学习,占地面积小,性能极快。它具有廉价的本地库,方便的暂存区域和多个工作流分支等特性。
版本控制
版本控制是一种记录文件内容变化,以便将来查阅特定版本修订情况的系统,方便版本切换。从个人开发过度到团队合作。
工作机制与代码托管中心
代码由工作区编辑,需添加到暂存区暂时存储,此时还可改动,由暂存区执行提交命令提交到仓库中,此时代码不可改动。
代码托管中心是基于网络服务器的远程代码仓库,一般我们简单称为远程库。
(二)下载
1.打开git官网点此访问git官网,点击"Download for Windows",红色方框处打开下载页面
2.根据计算机位数选择下载安装包
3.如果下载太慢可选择点击如下链接,该文件为官方文件,未进行任何修改,请放心下载
点击此处可直接下载
密码:1234
(三)安装
- 双击打开Git安装包
- 协议说明,点击next
- 选择安装路经
建议不要选择c盘安装
,点击next - 图中有相关介绍,建议使用如图中选项勾选
- 确认文件名,点击next即可
- 习惯使用什么方式操作git,默认选择vim
- 存储库的新分支名,默认让git选择,点击next
- 设置PHSH环境变量,选择第二个设置环境变量,点击next
- 设置ssh捆绑,选择默认即可,ssh为免密登录协议,后续文章会说明,点击next
- 可以使用https协议访问git,默认选择,点击next
- 配置行结束转换,默认选择,点击next
- 默认选项,点击next
- 选择pull默认选项,默认选择,点击next
- 选择凭据助手,默认选择,点击next
- 点击install,开始安装,点击安装
- 点击finish完成安装
- 在桌面点击右键,看见图中红圈处,点击Git Bash Here,进入控制台界面
- 在控制台输入以下代码可查看当前版本
git --version
二、Git常用命令使用
(一)Git常用命令概括
命令名称作用git config --global user.name 用户名设置用户签名git config --global user.email 邮箱设置用户签名git init初始化本地库git status查看本地库状态git commit -m “日志信息” 文件名提交到本地库git add 文件名添加到暂存区git reset --hard 版本号版本穿梭git reflog查看历史记录
(二)命令的使用
1.设置用户签名
签名的作用是区分不同操作者身份,用户的签名信息在每一个版本的提交信息中能够看,提交代码前必须要设置用户签名,否则会报错,下面我们开始设置用户签名。
1)在桌面点击鼠标右键,选择"Git Bash Here"进入Git控制台
2)在控制台中输入以下代码,开始设置用户签名,后面的用户名、邮箱可随意设置,也可按公司要求
git config --global user.name 用户名
git config --global user.email 邮箱
2.初始化本地库
为了让Git获得目录的管理权,我们需要初识化本地仓库,下面我们开始初始化本地仓库。
1)创建一个文件夹,文件名随意
2)右击鼠标,使用Git控制台打开
3)在控制台中输入以下代码并回车即可
基本语法
git init
4)初始化完成后git会在该目录下创建一个.git文件夹,此时git可以管理文件
3.查看本地库状态
可以查看本地库的文件是否被添加到暂存区和提交本地库,下面我们开始查看本地库状态。
1)创建一个测试文件,方便我们进行后续的测试
2)使用如下命令查看本地库的状态
git status
3)查看到的本地库还有一个文件没有添加至暂存区
4.将文件添加至暂存区
Git的机制是添加暂存区->提交本地仓库->提交远程库,所以我们需要先添加至暂存区。
1)输入以下命令,将文件添加至暂存区
git add 文件名
2)再次输入以下代码查看本地库状态会发现其已经变成了绿色,说明已经将文件提交至暂存区
git status
5.删除暂存区文件
如果我们需要删除暂存区文件,删除暂存区文件不是删除本地文件,下面我们开始删除暂存区文件。
1)输入以下代码删除暂存区文件
git rm --cached 文件名
2)若再次查看本地库状态会发现该文件已经不在暂存区
6.将暂存区的文件提交至本地库
文件提交至暂存区可以删除,但是若是提交至本地仓库就不能删除了,提交至本地仓库后续就可以将代码进行回溯了,下面我们开始将文件提交至本地仓库。
1)输入以下代码将文件提交至本地库
git commit -m "日志信息" 文件名
日志信息为自己填写,可根据自己的需求和公司要求修改
2)此时再查看本地仓库状态为以下图片即为提交完成
7.查看日志信息
查看日志信息可以看到对文件做出的改变,与提交信息,还有文件的一系列信息,下面我们开始查看日志信息,查看引用的日志信息为大致内容,可查看详细的日志信息。
1)查看引用日志信息
git reflog
版本号,当前指针指向master,第一次插入版本,此时后面的first commit为上面输入的日志信息
2)查看详细日志信息
git log
下图为内容介绍
8.查看文件内容
有时候我们需要在git中查看并更改一些文件的内容,所以我们需要学习如下命令。
1)查看指定文件的全部内容
cat 文件名
2)查看指定文件的部分内容,输入以下内容可查看文件的最后一行内容
tail -n 1 文件名
9.修改文件内容
学习了如下内容我们可在Git控制台修改文件,面对一些细小的缺陷可以在控制台修改下面我们开始修改文件内容。
1)输入以下代码进入文件修改界面
vim 文件名
2)点击i开始修改
3)点击esc退出编辑模式,shift+z+z退出并保存
4)输入git status查看为如下即为修改成功(此时未添加暂存区)
5)输入【git add 文件名】将文件名添加至暂存区
6)可再次查看本地库状态
7)输入以下代码插入本地仓库
git commit -m "日志信息" hello.txt
日志信息可根据自己的需求填写,为了方便演示我填写了"second commit"
git按照行来维护文件,它会将原来的行删除后新增一行
8)此时再次查看本地库状态可变为如下图片
9)查看版本信息可发现其已经有两个版本,当前指针指向 第二个版本
10)此时可查看当前指针指向的文件
10、版本穿梭
有时候新版本有一些严重的Bug,需要回退到其他版本,我们就需要进行版本穿梭了,下面我们开始版本穿梭。
1)查看版本信息
git reflog
2)输入以下代码选择版本可回到该版本
git reset --hard 版本号
3)此时再次查看版本信息如下图
此时指针已经指向了当前的版本,即7e17f59版本
注:shift+insert为复制粘贴键
4)查看文件内容,如下图所示,即为已经回到之前版本,hello.txt文件变更为之前的版本
GIT版本切换,底层是移动HEAD指针,并非是造多个副本
三、Git分支
(一)什么是Git分支
在版本控制过程中,同时推进多个任务,为每个任务,我们就可以创建每个任务的单独分支。使用分支意味着程序员可以把自己的工作从开发主线上分离开来,开发自己分支的时候,不会影响主线分支的运行。对于初学者而言,分支可以简单理解为副本,一个分支就是一个单独的副本。(分支底层也是指针的引用)
好处:提高效率:可同时并行推进多任务多功能的开发,显著提高开发效率。
提高容错率:如果某一个分支开发失败,不会对其他分支有任何影响。失败的分支删除重新开始即可。
(二)分支常用命令概述
命令名称作用git branch 分支名创建分支git branch -v查看分支git checkout 分支名切换分支git merge 分支名把指定的分支合并到当前分支上
(三)分支常用命令的使用
1.查看分支
想要修改分支,首先我们要清楚有哪些分支,下面我们来学习查看分支的命令。
输入以下命令查看分支
git branch -v
此时仅有一个master分支
2.创建分支
我们想开始多路并发的开发,是需要进行分支的,所以创建分支是一个重要的内容,下面我们开始来创建分支吧。
1)输入以下代码创建分支
git branch 分支名
2)查看分支
git branch -v
此时有了两个分支
3.切换分支
分支的切换可以在多个分支中进行跳转,可以对多个分支的进行管理,也是一个重要的内容,下面我们开始切换分支吧。
输入以下代码切换分支
git checkout 分支名
切换前
切换后
4.修改分支
学习完修改分支可对各个分支的内容进行修改,下面开始我们开始修改分支吧。
1)切换到需要修改的分支,输入以下代码进入文件界面,输入i开始修改
vim 文件名
修改完成后点击Esc键,然后shift+z+z保存并退出
2)修改完成后可查看本地库状态,并未提交暂存区
3)添加暂存区并提交本地库
git add 文件名
git commit -m "日志信息" 文件名
4)查看文件信息
cat 文件名
5)查看版本信息
git reflog
此时可看到指针在hot-fix分支下
5.合并分支
学习完合并分支之后,我们可以将多个分支合并到一个主分支上,完成代码的合并,下面我们开始学习合并分支。
1.正常合并
1)将当前分支切换回主分支master
git checkout master
2)查看当前文件内容
cat hello.txt
3)输入以下命令合并分支至当前分支
git merge 分支名
4)如图为两个分支已经合并了
2.冲突合并
合并分支时,两个分支在同一个文件的同一个位置有两套完全不同的修改。Git无法替我们决定使用哪一个。必须人为决定新代码内容。
会提示合并代码冲突下面会显示正在合并
此时git并没有提交暂存区,需要我们手动合并代码
1)使用vim命令进入文件页面,可看到如下页面
2)将不需要保留的内容删除
选择方向键(上下左右)选中文本的行内容,点击ESC+d+d键删除不需要的内容与特殊符号,效果如下图所示。
点击Shift+z+z保存并退出,保存完成后需要将文件添加至暂存区,并提交本地库,注意,此时不能使用如下命令
git commit -m "日志信息" hello.txt
会报如下错误:git不知道哪个是最新代码
使用如下命令即可保存成功,不要带文件名
git commit -m "日志信息"
如下图片即为保存本地库成功
3)查看当前文件状态
4)此时我们仅仅是合并了master分支的,hot-fix分支并未被修改
5)常见问题的解决
原因分析:新修改功能后的文件与原来commit未push的文件存在冲突,需要将修改后的文件手动加入到文件push队列中
①先使用git status
②使用git add [文件名] 将差异文件添加进去。
③然后按照自己的需求进行操作。
四、团队协作与Github操作
(一)团队内协作
团队内协作机制大概如下:
1)主用户创建一个本地库
2)主用户将代码上传到用户托管中心的远程库
3)张三将远程库中的代码克隆到自己的本地库并将该代码进行修改
4)张三将修改后的代码重新上传到远程库中
5)得到主用户的同意后可传入用户托管中心
6)主用户可以将修改后的代码拉取下来
7)更新到本地库的代码
(二)跨团队协作
跨团队协作机制大概如下:
1)甲团队将自己的代码创建分支给乙团队
2)乙团队将代码复制到自己的远程库
3)乙团队将自己远程库中的代码克隆下来到本地库
4)乙团队在自己的本地库中对代码进行修改后将代码保存
5)推送到乙团队的远程库
6)乙团队给对方发送一个拉取请求,甲团队接收该请求,并对乙团队修改后的代码进行审核
7)审核通过后将代码合并到自己的远程库
(三)GitHub远程库操作
1.GitHub操作
想要创建一个远程库,可以使用GitHub,下面我们将介绍怎么创建远程仓库
GitHub官网,全球最大的交友网站
1)首先登录\注册
2)首先点击加号然后点击新建仓库
3)点击如下图顺序点击
4)如下就是你的远程仓库地址
2.使用远程仓库别名
1)输入以下代码查看当前所有远程地址别名
git remote -v
此时并没有任何别名
2)为远程仓库取别名
git remote add 别名 远程仓库
查看别名后有两个别名,一个拉取,一个推送
3.本地仓库分支推送至远程仓库
1)先切换回master分支
git push git-demo master
2)如果直接输入推送代码会出现以下情况
我们需要输入以下代码
git config --system http.sslverify false
3)输入以下代码推送至远程仓库,会弹出如下界面,选择浏览器登录
git push 别名 分支
4)在浏览器中我们点击绿色按钮登录
5)此时git控制台中会有如下效果
此时github上有如下效果,可双击查看文件名
4.拉取远程仓库至本地库
1)可在github上修改代码,点击如下图标
2)在末尾添加多个6【可根据自己的需求更改】
3)在github中提交,此时提交的是远程仓库的
4)拉取远程库的代码到本地,输入以下代码,如下图所示就是拉取成功了,并提示已经修改一行了
git pull 别名 分支
5)查看本地库状态,会发现已经提交
6)查看文件内容
5.克隆远程仓库到本地
我们演示的是从github克隆到空目录里,clone会做如下操作,拉取代码,初始化本地仓库,创建别名
1)创建一个空文件夹,使用git bash here进入该文件夹,我们可以看到目前的仓库状态为空
2)使用如下命令克隆到本仓库中
git clone 远程仓库链接
注:克隆公共(public)代码不需要账号信息
如图为克隆成功
此时你的文件里也会出现该项目
6.团队内的协作步骤
下面我们对签名的内容进行复习和应用
张三拿到代码后可对文件进行修改
1)首先要进入\git-demo2\git-demo目录下,右键使用Git Bash Here打开git控制台
2)使用如下命令查看可操作的文件
ll
3)使用vim命令修改文件,进入vim界面后,点击i开始对文件进行修改,添加了"张三 hello"语句进入文件,并点击Esc键退出编辑,点击Shift+z+z保存并退出。
4)为了确认,使用cat查看文件内容,确认一下,并使用"git status"查看本地库状态。
5)使用"git add 文件名"添加到暂存区并使用"git commit -m “日志信息” 文件名"命令添加至本地库
6)使用"git push 链接 分支"命令提交至远程仓库,此时需要张三登录他的github账号并连接git,
如果是你原来的账号就不需要登录了,为了演示我们假设登录的是张三的账号
,此时需要主用户授权张三加入团队,张三才能提交代码。
主用户需要如下操作
1)进入仓库,并点击设置
2)点击如图,添加成员
3)添加成员账号
4)点击如下图标,复制邀请函链接,发送给张三,张三收到后,进入并接受邀请
此内容在团队内需要熟练掌握
7.跨团队协作步骤
假设你是甲团队外的第三方人员/团队,找到一个不太好的代码
1)搜索项目
2)点击右上角的此标题,分支到自己的仓库下
3)按照7.团队内协作的步骤,可在线修改,可下载到本地仓库修改,修改项目并提交
4)如下图顺序点击
5)此时甲团队会收到一个拉取请求
6)点击接收即可
8.SSH免密登录
SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定;SSH 为建立在应用层基础上的安全协议。SSH 是较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。
1)当我们在github中点击克隆中的ssh可以看到ssh有错误提示,那我们怎么使用ssh呢?
2)首先我们先找到
C:\Users\用户名
该目录 ,使用git bash here打开
3)输入以下代码
ssh-keygen -t rsa -C 邮箱
- ssh-keygen:生成ssh免密登录公钥与私钥的命令
- -t:使用哪种加密算法来生成
- rsa:非对称加密算法
- -C:描述,指的是后面的邮箱,注意,c为大写
整体意思是针对某个邮箱的免密登录
4)输入完成后什么也不需要动,敲4次回车即可,效果如下
5)此时文件目录会出现.ssh目录
6)在目录中有一个公钥和私钥文件
7)使用git bash here打开.ssh文件,并使用cat命令查看公钥,并复制
8)到账号点击设置
9)按如下顺序打开
注:需要将git控制台窗口最大化,否则有多余位置容易报错
退出界面有上图即为成功
10)测试
①我们首先看到我们的git本地库和github远程库的内容不相同。
其次,我们在github的code上的ssh的也没有报错。
②在git中输入以下代码
git pull ssh链接 分支
会出现如下情况,会提示,您第一次使用ssh协议登录,是否需要保存。
输入"yes"保存,等待一会儿就会出现如下图所示
③查看当前仓库的代码
④使用"vim"命令修改当前库的代码,使用"add"命令提交至暂存区,并添加至本地库中,使用如下命令传送到远程库中,成功即为已经将ssh设置成功
git push ssh链接 分支
五、IDEA 中配置GIT环境
(一)配置GIT忽略文件
忽略idea的特定文件,或者maven工程文件的target文件与和项目实际功能无关文件,可以忽略ied工具的差异。
- 创建规则文件文件名为"xxxxxx.ignore",名字可以随便取,建议命名为git.ignore。
- 文件大致内容如下,可以直接复制粘贴进入git.ignore文件
# Compiled class file
*.class
# Mobile Tools for Java (J2ME)
.mtj.tmp/
# Log file
*.log
# BlueJ files
*.ctxt
# Package Files #
*.jar
*.ear
*.nar
*.war
*.tar.gz
*.rar
*.zip
# virt machine crash logs, see
http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
.classpath
.idea
target
.settings
*.iml
.project
该文件存放位置可任意放置,但建议放在用户目录下。
- 在.gitconfig文件下配置文件引用
注:该文件同样在你的用户目录下,复制该文件的目录时记得把反斜线"\"改为正斜线"/"
[core]
excludesfile = C:/Users/用户名/git.ignore /*你的git.ignore文件目录*/
(二)IDEA中配置GIT
英文界面操作,下方有中文版
1)打开IDEA中的全部设置
2)按下图顺序点开
3)有如下图即为设置成功
4)点击应用,ok就可以啦
中文版界面
1)打开IDEA中的全部设置
2)按下图顺序点击即可
(三)在项目中配置GIT
方法一:直接在创建文件时创建git仓库
注:取名,选择文件目录,选择maven这些就不细说了
方法二:在文件中配置git,按如下图顺序操作
如下图即为成功,因为没有提交暂存库的的文件颜色为红色
注:未提交的代码不影响执行
(四)开始使用在IDEA中GIT
一般的提交方式
1)点击右键,git,然后提交文件
2)创建一个java类,会弹出是否添加git,因为没有更改,我们点击取消
3)当有多个文件需要添加时,可直接添加一个项目,参照1)做法在项目上点击右键即可
4)点击git,查看提交目录可查看暂存区目录
输入要提交的日志信息,而后点击提交即可
5)如果遇到一直在分析代码,可以关闭代码分析,新版的idea在外面的设置里可以关闭,旧版的在git设置里可关闭
便捷的提交方式
(五)IDEA中GIT的版本切换
1)在代码中添加点内容并添加至本地库
2)点击如下图标
3)如下点击可以查看版本的详细信息
可以看到,黄色为当前代码编辑区代码的指针,绿色为分支的指针
4)选择需要切换的版本点击右键,然后点击如图按钮
可以看到现在黄色指针已经切换到了其他版本
(六)IDEA创建分支
方法一:一般方式创建分支
右键选择项目,按照如下顺序点击
下面的git栏出现两个分支即为创建成功
方法二:快捷创建分支
按照如下步骤可创建分支
(七)IDEA中切换分支
1)点击如下图标,下面有个分支
2)点击想切换的分支,后点击切换即可
(八)合并分支
方法一:正常合并
回到你想要合并到的分支,选择合并到该分支
方法二:冲突合并
1)两个有冲突的代码合并分支时会出现冲突
2)会弹出如下窗口,点击合并
3)出现如下窗口,窗口内容在图片中介绍
4)点击都合并的会弹出提示,直接点击右下方应用即可
六、IDEA中配置Github
(一)在IDEA中登录GitHub
1)打开idea的设置
2)在版本控制选项选择github,可以看到有两种登录选项,我们只介绍其中的一种
3)点击通过GitHub登录选项,会跳转到下方网页,点击发方标识的按钮
4)会跳转到下方的网页,如果你登录账号的情况下会登录,点击下方标识处,会跳转到确认密码网站,登录后等一会儿就可以了。
5)之后在idea里可以看到自己的账号,点击上方的账号,点击减号可以删除账号。
(二)将项目上传到Github
1)点击git,github,然后选择GitHub分享项目
2)按如图顺序依次设置,等待一会即可在GitHub上看到项目了。
(三)将项目推送至Github上
点击推送,两个都可以
然后直接点击推送即可
注意:push是将本地库代码推送至远程库,如果本地仓库代码比远程仓库代码低,则提交会被拒绝,所以一般是先对比本地库与远程仓库,先拉取,再修改,推送
(四)将GitHub远程仓库拉取到本地库
1)在远程仓库修改代码
2)在idea里拉取该项目
点击拉取,等待一会儿就可以了
注意:pull是拉取远程仓库到本地,如果远程仓库和本地仓库不一致,可能会导致合并冲突问题,需要手动解决冲突。
(五)将GitHub项目克隆到本地
1)将本地库的项目删除,在项目目录下
2)复制GitHub仓库的链接,打开idea
3)粘贴到下方
七、Gitee的使用与其在IDEA中的配置
(一)Gitee介绍
gitee是国内的代码托管平台,由于网络原因GitHub服务器在国外,不太方便使用,gitee为国内开发的代码托管平台,gitee和GitHub操作几乎相同。
GItee官网
注册一个账号并登录,可以出现如下界面
(二)IDEA使用GItee
1)在idea插件中搜索gitee插件并下载
2)在idea设置中的版本控制处可看到gitee,登录gitee
授权即可
3)在idea中点击git,管理远程
4)点击添加
5)输入名称,添加仓库链接,点击确定即可
6)如图选择,鼠标左键单击红框处,点击推送即可
7)可以看到git仓库上面已经有该项目了
(三)将Gitee代码拉取至本地
1)打开gitee项目中需要修改的文件,点击编辑即可修改,提交方法和GitHub一样
2)点击拉取
4)切换到gitee仓库,点击拉取即可
(四)Gitee中导入GitHub项目
1)在gitee上新建仓库
2)点击导入仓库
4)点击绿色按钮
5)点击导入即可
总结
以上为GIT的介绍,与使用技巧,希望大家多多练习,多加巩固,你一定能掌握Git的!!!
版权归原作者 浅学小久 所有, 如有侵权,请联系我们删除。