Java Git

1.Git介绍

1.1.什么是Git?

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9T5bzkHY-1640253753571)(assets\1587212332067.png)]

Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。Git 是 LinusTorvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

1.2.Git的历史

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uiZUVRrW-1640253753574)(assets\1587212389687.png)]

1.3.版本控制分类

1.3.1.集中式版本控制

所有的版本数据都保存在服务器上,协同开发者从服务器上同步更新或上传自己的修改。如果不连网则无法使用版本控制器。而且,所有数据都保存在单一的服务器上,有很大的风险这个服务器会损坏,这样就会丢失所有的数据,当然可以定期备份。代表产品:SVN、CVS、VSS

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7CrahWIo-1640253753575)(assets\1587212624434.png)]

1.3.2.分布式版本控制

所有版本信息仓库全部同步到本地的每个用户,这样就可以在本地查看所有版本历史,可以离线在本地提交,只需在连网时push到相应的服务器或其他用户那里。由于每个用户那里保存的都是所有的版本数据,只要有一个用户的设备没有问题就可以恢复所有的数据,但这增加了本地存储空间的占用。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-K9cHe0gv-1640253753576)(assets\1587212534041.png)]

1.4.Github(Git服务器)

​ 在部分企业中,开发人员是否拥有Github帐户,在Github中是否有个人的代码和资料发布、发布数量等,成为了开发人员实力的一种评价标准。

1.5.Git工作流程

  • Git工作流程如下:

    1. 从远程仓库中CloneGit 资源作为本地仓库
    2. 从本地仓库中checkout代码到工作区
    3. 工作区先将代码add到暂存区
    4. 再从暂存区commit到本地仓库
    5. 最后从本地仓库push到远程仓库

  • 常用术语

    • 工作区:项目所在的目录
    • 暂存区(stage/index):暂存区是工作区用来提交(commit)前可以暂存工作区的变化
    • 本地仓库:本地git仓库
    • 远程仓库:远程git仓库

2.使用前的准备

2.1.准备Git

2.1.1.安装Git

1、在git下载页面中:https://git-scm.com/downloads,选择你的系统类型,这里我选择Windows,点Windows

2、点击系统类型后,网站会自动进行下载

在这里插入图片描述

3、文件下载完成后,双击打开文件,进行安装

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8U7iWyDG-1640253753580)(assets\1587214092077.png)]

4、点击Next

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jLDACAxh-1640253753581)(assets\1587214171959.png)]

5、设置安装路径

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-K6snBlxA-1640253753582)(assets\1587214227994.png)]

6、选择安装的组件,Git Bash Here指的是命令行模式,Git GUI Here指的是图形界面,选择默认,点击Next

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dpYNDPIE-1640253753584)(assets\1587214319187.png)]

7、设置开始菜单名称,不需要创建菜单就勾选下方的Don’t create a Start Menu folder,点击Next

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2p8qHkBB-1640253753586)(assets\1587214388044.png)]

8、设置编辑器,选择编辑器为git默认编辑器,点击Next

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2AEA9Y8e-1640253753587)(assets\1587214465854.png)]

9、勾选Use Git from Git Bash only,然后点击Next,随后的四步直接点击Next即可

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FJGjGqIO-1640253753588)(assets\1587214547555.png)]

10、出现安装完成的标志时,将两个勾选都去掉,然后点击Finish

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SCmU1qVA-1640253753589)(assets\1587214665437.png)]

2.1.2.IEDA配置Git

安装完Git工具后第一步需要在IEDA里配置git执行程序的路径,选择 【File】→ 【Settings】→ 【Vwesion Control】→ 【Git】,选择git可执行文件的路径(正确配置的情况下,点击Test会弹出git版本的提示)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VpX52DoM-1640253753590)(assets\1587214766646.png)]

2.2.准备Github

2.2.1.注册Github账号

请自行在Github(https://github.com)网站中注册。

2.3.2.创建版本仓库

2.3.2.1.进入管理页面

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rj1jVXDU-1640253753591)(assets\1587214950942.png)]

2.3.2.2.创建仓库

注意,这里创建的是公开版本仓库,私有版本仓库不完全开放,大部分功能需要付费购买。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-38MFnL5Y-1640253753592)(assets\1587215521927.png)]

3.发布

3.1.创建空工程

git_repository

3.2.创建模块

注意:git会忽略空文件夹

3.3.发布项目

3.3.1.创建git本地仓库

1、在idea的菜单项选择【VCS】→【Import into Version Control】→【Create Git Repository】

2、默认是直接定位到当前项目文件所在的磁盘目录,一般git初始化就在当前项目的根目录,不需要修改路径,直接点击OK确定即可

3、init完成之后,可以看到原本的项目文件名变成了红色了,红色在idea的git版本表示未add的文件

4、在系统资源管理中打开项目的磁盘文件目录,会发现一个.git的隐藏文件,这个文件就git的配置和仓库文件

3.3.2.添加到暂存区

1、点击【VCS】→【Git】→【Add】添加当前项目到暂存区

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-V5hhmM2N-1640253753593)(assets/image-20200513100218094.png)]

2、添加完成之后之前的红色文件名变成了绿色了

3.3.3.提交到本地仓库

1、点击【VCS】→【Git】→【Commit Directory】

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-itzNJdoR-1640253753594)(assets/image-20200513100250279.png)]

2、填写提交注释说明,点击【commit】

3、填写用户名和邮箱

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dzUCtKCT-1640253753595)(assets\1587219793956.png)]

3.3.4.推送到远程仓库

1、点击【VCS】→【Git】→【Push】推送当前项目到远程仓库

2、复制github仓库地址

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Qn4Rf7Z1-1640253753596)(assets/image-20200506190921727.png)]

3、点击【origin】设置仓库地址,复制的 github仓库地址粘贴到URL中,点击【push】

4、发布成功

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-S5511yKO-1640253753597)(assets/image-20200506193137574.png)]

4.克隆

4.1.删除工程

删除工作空间中的git_repository工程

4.2.克隆工程

1、选择菜单上的 VCS,选择【Checkout from Version Control】→【Git】

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-E56DR3Gp-1640253753598)(assets\1587215951969.png)]

2、复制github仓库地址

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EIVyPs5M-1640253753599)(assets/image-20200506195027504.png)]

3、复制的 git仓库地址粘贴到URL中,点击【Clone】

4、克隆完成之后,IDEA会提示导入项目

在这里插入图片描述

5、点击【This Window】导入项目

4.提交

4.1.修改工程

4.1.提交到本地仓库

完成代码的开发后,直接将修改和添加的代码或文件提交到本地仓库上(文件已添加至暂存区,受git追踪):

1、点击【VCS】→【Git】→【Commit File】

2、填写提交注释说明,点击【commit】

4.4.推送到远程仓库

1、点击【VCS】→【Git】→【Push】推送当前项目到远程仓库

2、点击【push】,推送到远程仓库

3、推送成功后,在 github 服务器上就会看到新推送的项目文件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OYVzd1g5-1640253753601)(assets/image-20211116141559708.png)]

5.更新

5.1.模拟场景

其他同事提交了代码到远程github仓库:

5.2.下载版本库中最新的代码

1、选中项目使用pull命令下载版本库中最新的代码

2、更新结果:

注意:每天早上更新其他同事提交的代码

6.冲突解决

6.1.模拟场景

远程仓库代码:

本地工作空间代码:

6.2.提交

1、代码有冲突是否合并,选择【Merge】

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RICs19mk-1640253753602)(assets\1587278141116.png)]

2、提交失败需手动合并:在冲突的面板上可以选择一个解决方案来解决冲突,前两个都是进行的覆盖操作,选择【Merge】进行手动合并

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Vu0Ch2Wb-1640253753603)(assets/image-20211116143441900.png)]

6.3.解决冲突

1、点击图中箭头合并代码

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Rw3xmn7C-1640253753604)(assets/image-20211116143554196.png)]

2、合并结果

6.4.如何避免冲突

  1. 早上来了先更新:避免冲突
  2. 写一个提交一个:把冲突留给别人

7.分支的使用

7.1.为什么要创建分支?

三个目录在实际项目开发过程中的应用:

  • trunk:一般的项目都是基于主干开发的。
  • branches:分支,一般用于有某些开发功能时,需要基于主干开分支,开发完成后要合并到主干。
  • tags:标签,项目开发完成后,发布上线

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-of2wtZZl-1640253753605)(assets/image-20211116145917370.png)]

7.2创建分支

假如,现在项目开发完成,需发布1.0版本,然后添加一个1.0的分支。

1、打开git分支菜单,点击【NewBranch】

2、输入分支名称,点击【OK】,创建了tag的分支

3、推送tag分支到github仓库

推送结果:

3、然后切换回主干分支,进行主干开发

4、在主干分支上添加新的功能,然后提交并推送到github上

5、tag分支看不到主分支的新功能

7.3.合并分支

在master分支上完成新功能后,将主分支(master分支)与tag分支进行合并:

1、切换到tag分支,进行合并操作:

2、选择合并的分支(remote/orgin/master),点击【Merge】

3、合并后,就把 tag分支推送到github仓库

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-n4jAEBUK-1640253753607)(assets/image-20211116154128985.png)]

8.历史记录

1、查看文件或项目提交的历史记录:选中文件 →【vsc】→ 【Git】→ 【Show History】

2、IDEA默认展示你当前所选择文件的提交历史,左侧是文件的历史提交列表,右侧是每次提交与上一版本的比较

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UBBkbPD6-1640253753608)(assets/image-20211116154251159.png)]

3、回退上一个版本:当你误删了一段代码(方法),但又提交了,可以使用下面Get的操作来进行回退。打开文件的历史提交记录,选择回退的版本 →【Get】,然后你就可以看到你的代码又回来了~

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nygapDW7-1640253753609)(assets\1587283231963.png)]

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值