1 Git

    1. git的概述

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

1.2 git的服务器地址

  • 国内git服务器地址:https://gitee.com/
  • 国外git服务器地址:https://github.com/

 

两个gitee帐号mayaole&mayaole2

 

1.3 Git原理图

bdbf588253020d2a6a8c3afd092c842f873.jpg

2 实战

  • 这里使用IDEA内置的git功能来讲解使用
  • 在学习前先安装 git管理工具到本地
  • git工具默认安装的路径如下图,安装完后把bin目录添加path变量中,在终端可以查看git工具的版本号
aa9632c81b03a4507b1194377bbf2667368.jpg
1e47267dbae5d95cfbaff5110b25367c4fd.jpg

 

2.1 工作时开发的注意事项

  • 代码需要备份【主要是防止代码丢失】
  • 每个大版本都需要备份分支持【主要是1.0出现问题时,不能在2.0的版本上修复】
  • 每天上午上班,要从服务器下载最新的代码到本地
  • 每天下午下班前,把自己的代码提交到服务器
  • 团队开发时需要解决文件冲突问题

2.2 commit,push,branches,master讲解

课程目标:掌握每一个使用步骤的原理

Step1:

  • 安装Git工具后在IEDA里的配置git的命令执行路径
234852346e782af058ad279d58c54d72f51.jpg
50dfade562dde43effd4725d98a3e910f02.jpg

 

Step2:

  • 在码云上创建空白的Java仓库,用于存储工作中开发的代码备份

 

6f9e16c6941fc8e96b92a81ec42e22fa3d0.jpg

 

 

Step3:

  • 上传本地空项目到码云上,让仓库拥有一个项目结构

在IEDA中创建一个同名JavaWeb项目

28e2e9452db8c3bc474af8da10ff5cee94a.jpg

在src目录中随便先在某个包下创建个Servlet

2b42787fd705258aa2d844331bb96962381.jpg

在gitee中,找到上传文件

d8d6f5251a3cfbefd17676328a7942a0823.jpg

然后把桌面gyfdemo01目录下的文件上传到git网站中

14b0e3d28b52ff4ddbab8ad9eeca710043c.jpg
de76a6ecc124fe96574dfca5ba450eb0b70.jpg

 

 

 

Step4:

  • 在IDEA中从码云下载项目,下载的地址就是在git中克隆的位置
  • https://gitee.com/mayaole/gyfdemo01.git
  • 以后就在这个仓库上开发

找到VCS,选择git,表示从服务器下载代码

3214601736cc95f36114ef2c305f4cc7a93.jpg

然后把git的仓库地址复制,如图,然后点clone复制份到本机桌面的某个文件夹下

这前的空项目就不再用了

efd92afe750429af1936bd645db1c598fa6.jpg

克隆后如下图:

de1047280326e936ee5b6b1fb1893c96049.jpg

 

Step5:

  • 添加定单功能,多写个OrderServlet文件

新创建一个文件时,把有下面的弹窗口,选择Yes

981be9c828dd8d457da8b2bbff05edd860a.jpg

如果不小心选中了No,可以通过另一种方式添加到本地仓库缓存

如图,点击文件右键

8d97b4ff3747fc8f693601388bcc58bf7cf.jpg

 

Step6:

  • 提交代码并写上备注到主杆

 

307cc7237cc590c6d6b0317320d9fda4071.jpg

 

Step7:

  • 再次任意修改添加文件,然后提交

975e02b0f2a88b846a11e7b5b8cc02cf349.jpg

 

Step8:

  • 把代码推到服务器
62f6f1715fd0964084fb6269fb178d54b6a.jpg
8bb3981bac4e25d473ccce27ceb9e3f7aca.jpg

在推的过程中,会弹出输入git服务器的用户名和密码,输入即可

推送成功后,在码云服务器会看到更新的功能

676e5194b18281259a6a0c99b79248ed43c.jpg

 

Step9

  • 再写点功能,再写个UserService提交,然后发布1.0版本,添加分枝

选择创建分枝

95962f01b3444ac259f28c440baf84e41cd.jpg

新创建一个分枝

9451aeb7d18b99d708a0ae505b35f1cdbb0.jpg

933ec9fd8b6cedb17eadb488a03cb67f431.jpg

 

 

Step10:

  • 切换回主杆

ed8b6af506358bcc5045242c814e60b2632.jpg

 

Step11:

  • 在主杆上进行2.0的开发,添加邮件发送功能

2590aaf8563bbfbacb4025b14bf13c0fed7.jpg

 

Step12

  • 切换回1.0分枝,进行Bug修复,然后提交

 

49069b55b0e2cd46e99a129271056112744.jpg

 

Step13:

  • 推1.0代码到服务器

9dcdff3b562ff9ad50033a564fa41c1ae21.jpg

 

Step14:

  • 不要忘记把主杆也推上服务器,先切换回主杆,再push
aced9d11cb1a90916486c092d07ca15d0e1.jpg
545a7b27272f1ee12f8441a1eec5518db37.jpg

 

Step15:

  • 将master分枝与1.0分枝合并

 

a69e05968f449bb9fd525621341fc541bd0.jpg

 

65804eeb61f86169ebc3d4c177a958c371b.jpg

 

  • 合并后,就把master推上服务器
  • 从mater中创建2.0分枝,那么master就是3.0分枝了,然后把2.0推到服务器
d8113817d9beaaaa573a19c8abb0c4fa4be.jpg
16655544595c6c4ebf166caf0886becb5eb.jpg
2ff0b7946f905d0e12beec35df9f46213a1.jpg

 

2.3提交历史记录查看

72328a5a42c44251ca6afe392c489313b7d.jpg
0143fb28a76beda5f1681a29b3c7b5ed50f.jpg

 

2.4对比不同版本的区别

bac9bf2ccfa4f5aff05faf20cad535c5495.jpg
523d5ea42d064687f9210bb058c6a078034.jpg

 

2.5回退到上一个版本

  • 比如你误删了一段代码(方法),但又提交了,可以使用下面的get来进行回退

 

03936546048aeec0624051ff94c295d44f1.jpg

 

 

2.6 团队开发,解决冲突

Step1:

  • 使用虚拟机里的IDEA下载代码【两个同学一组演示】

34995515f635a61578bc22445401920b01a.jpg

 

Step2:

添加其它开发者到当前项目组

00d720c8824c258d7542a0ba28f3b17cf16.jpg

 

Step3:

 

  • 在虚拟机中给某个类添加一些代码,比如添加个方法,然后push到服务器
  • 在push服务器中,可能失败,因为你没有把另一个开发者的帐号添加到项目组中
b34b1171e9a27894a1bf452ae920e87cc41.jpg
f1beeaed1f22eca1cb4b462a5fd30e183a3.jpg

 

Step4:

  • 在本机中也在同一个文件中修改或者添加代码
  • 然后push到服务器会失败,因为代码冲突了

 

c7b3ddea03e90dcf96e04e1ff707b38fcba.jpg
f99e894da82f2f1a9de23e0ec7779752b3c.jpg

合并前

21b64a11c36c283c2f06f30e94aadd310b8.jpg

合并后,然后再次push即可以了

注意:A开发者更新后,另一个开发者可以重新pull更新代码到本地

565d68284bffa41f49b84bcc9dafe04df73.jpg

 

 

命令行上传代码:

 

  1. git clone https://gitee.com/mayaole/EduProject.git
  2. 把项目内容放在目录下
  3. Git add .
  4. Git commit -m ‘提交’
  5. Git push origin master

 

https://www.jianshu.com/p/edf037f921c7

 

 

上传到码云

 

  1. 在码云创建项目
  2. 把项目代码拖进去【文件太多就没法上传,使用git命令】
  3. 在本地创建一个文件夹
  4. 把码云项目克隆一份
  5. 把项目代码丢进去
  6. 把代码添加到git缓存中

f68300a5b8e59475c27a962935cdf4c1ed2.jpg

 

  1. 提交

34354b834d3c000210ecd8d56da1ddcc1d3.jpg

  1. 使用push把创建上传码云

c0baade8ea29f7b8f900e608df4d2607b88.jpg

 

 

 

  1. git clone https://gitee.com/mayaole/EduProject.git
  2. 把项目内容放在目录下
  3. Git add .
  4. Git commit -m ‘提交’
  5. Git push origin master

 

https://www.jianshu.com/p/edf037f921c7

转载于:https://my.oschina.net/zhengchen/blog/3084635

版权声明:本文为匿名原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: