热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Java学习笔记全栈web开发18Git

Java学习笔记-全栈-web开发-18-Git,Go语言社区,Golang程序员人脉社

Git

  • 1. 入门
    • 1.1 概述
    • 1.2 原理图(重点)
  • 2. Git实战
    • 2.1 常用场景
    • 2.2 简单使用
    • 2.3 版本管理(重要)
      • 2.3.1 创建分支
      • 2.3.2 主干继续开发
      • 2.3.4 1.0版本修复BUG
      • 2.3.5 合并分支
    • 2.4 查看历史变化
      • 2.4.1 查看版本变化
      • 2.4.2 对比版本差异
    • 2.5 版本回退
  • 3. 从git服务器下载项目
  • 4. 快速将已有项目上传到git



本章Git教学将基于码云,因为在国内,由于网速的原因,GitHub作为代码开源站点更为合适,进行项目管理的话速度太慢了。

学会码云的使用,GitHub也可触类旁通。



1. 入门

1.1 概述

Git(读音为/gɪt/。)是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。

Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

国内git服务器地址:码云

国外git服务器地址:GitHub


1.2 原理图(重点)

在这里插入图片描述


  1. 将项目从工作区add到本地仓库

  2. 然后commit到master

  3. 最后将项目push到git服务器上的远程仓库

git的安装可以参照百度经验,或者自行查阅,在此不做赘述。


安装完之后记得将git下的bin目录加到path路径,以可在终端通过git version查看版本为安装成功标准。



2. Git实战

使用IDEA自带git进行学习



2.1 常用场景


  1. 代码需要备份时

  2. 每个大版本都需要备份来支持(如1.0出现问题时,不能在2.0版本上修复)

  3. 早上从服务器下载最新代码到本地

  4. 晚上提交自己的代码到服务器

  5. 团队开发解决文件冲突问题

2.2 简单使用

安装git之后在IDEA中配置git
在这里插入图片描述在码云上创建一个Java仓库
在这里插入图片描述

复制git路径
在这里插入图片描述

创建项目,并创建git仓库
在这里插入图片描述然后可以看到项目文件变红

接着将项目add到本地仓库
在这里插入图片描述

commit到服务器
在这里插入图片描述在这里插入图片描述此时会失败,因为项目目录与git服务器目录不一致,

然后打开终端,输入

git push -f 你的git项目地址

强制推送即可。

之后,使用IDEA中VSS下的git操作即可,操作步骤参照原理图。

(比如,更改代码之后,进行add操作,然后commit操作,然后push进行同步)


2.3 版本管理(重要)

通过创建分支,实现版本管理。


2.3.1 创建分支

创建分支,用于记录版本。比如此时的分支为1.0版本
在这里插入图片描述
在这里插入图片描述


2.3.2 主干继续开发

此处checkout可以理解为切换
在这里插入图片描述在主干上添加新功能
在这里插入图片描述commit后并push到git服务器。
在这里插入图片描述


假设此时,1.0版本出现了bug,因此切换回1.0版本进行bug修复



2.3.4 1.0版本修复BUG

切换回1.0分支
在这里插入图片描述可以看到,1.0中并没有新功能
在这里插入图片描述

进行BUG修复
在这里插入图片描述然后把1.0的代码也commit并push到服务器。
在这里插入图片描述可以看到,主干上有新功能,1.0上修复了bug,但bug是在1.0分支上修复的,主干上依旧存在bug,因此,此时需要将1.0合并到主干上,以此修复主干BUG。


2.3.5 合并分支


记得先切换回主干,因为是主干合并其他分支


在这里插入图片描述

在这里插入图片描述

合并后,将主干master推送到服务器。

在这里插入图片描述

此时可以继续创建2.0分支,然后master作为未来的3.0继续开发。


2.4 查看历史变化


2.4.1 查看版本变化

先鼠标单击选中你想查看的对象(此处选择项目根路径)

然后操作如下:
在这里插入图片描述可以看到项目变化

在这里插入图片描述


2.4.2 对比版本差异

在这里插入图片描述

然后会弹出相应的版本号,我这里随便选了一个,查看结果如下:

在这里插入图片描述

绿色的部分就是改变的地方


2.5 版本回退

如果误删了某个文件,然后又提交到了服务器,可以通过版本回退。

此处以1.0BUG修复文件为例,删除该文件。
在这里插入图片描述

commit并push
在这里插入图片描述

码云上查看变化
在这里插入图片描述

选择回退到上一个版本。
在这里插入图片描述

四种选项后面都有提示,我们选择Keep模式。
在这里插入图片描述回退成功
在这里插入图片描述然后打开终端,输入命令

git push -f

即可(误删记录不会出现)


注:网上提供的checkout并不能直接进行“撤销”操作,实质上是将git的HEAD指针移动到了指定的checkout分支,此时误删操作依旧存在。



3. 从git服务器下载项目

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

然后等待即可下载成功。


4. 快速将已有项目上传到git

1.创建git仓库,并将仓库下载到本地git clone https://gitee.com/xxx/xxxx.git

2.把项目内容放在下载的git项目目录下

3.打开git命令行,

4.git add .

5.git commit -m ‘初始化项目’

6.git push origin master

之后对项目进行改变之后,直接commit并push即可(通常IDEA自动add,如果没有,则先add)




推荐阅读
  • IjustinheritedsomewebpageswhichusesMooTools.IneverusedMooTools.NowIneedtoaddsomef ... [详细]
  • 2018年人工智能大数据的爆发,学Java还是Python?
    本文介绍了2018年人工智能大数据的爆发以及学习Java和Python的相关知识。在人工智能和大数据时代,Java和Python这两门编程语言都很优秀且火爆。选择学习哪门语言要根据个人兴趣爱好来决定。Python是一门拥有简洁语法的高级编程语言,容易上手。其特色之一是强制使用空白符作为语句缩进,使得新手可以快速上手。目前,Python在人工智能领域有着广泛的应用。如果对Java、Python或大数据感兴趣,欢迎加入qq群458345782。 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • svnWebUI:一款现代化的svn服务端管理软件
    svnWebUI是一款图形化管理服务端Subversion的配置工具,适用于非程序员使用。它解决了svn用户和权限配置繁琐且不便的问题,提供了现代化的web界面,让svn服务端管理变得轻松。演示地址:http://svn.nginxwebui.cn:6060。 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • Google Play推出全新的应用内评价API,帮助开发者获取更多优质用户反馈。用户每天在Google Play上发表数百万条评论,这有助于开发者了解用户喜好和改进需求。开发者可以选择在适当的时间请求用户撰写评论,以获得全面而有用的反馈。全新应用内评价功能让用户无需返回应用详情页面即可发表评论,提升用户体验。 ... [详细]
  • Tomcat/Jetty为何选择扩展线程池而不是使用JDK原生线程池?
    本文探讨了Tomcat和Jetty选择扩展线程池而不是使用JDK原生线程池的原因。通过比较IO密集型任务和CPU密集型任务的特点,解释了为何Tomcat和Jetty需要扩展线程池来提高并发度和任务处理速度。同时,介绍了JDK原生线程池的工作流程。 ... [详细]
  • Java学习笔记之面向对象编程(OOP)
    本文介绍了Java学习笔记中的面向对象编程(OOP)内容,包括OOP的三大特性(封装、继承、多态)和五大原则(单一职责原则、开放封闭原则、里式替换原则、依赖倒置原则)。通过学习OOP,可以提高代码复用性、拓展性和安全性。 ... [详细]
  • JDK源码学习之HashTable(附带面试题)的学习笔记
    本文介绍了JDK源码学习之HashTable(附带面试题)的学习笔记,包括HashTable的定义、数据类型、与HashMap的关系和区别。文章提供了干货,并附带了其他相关主题的学习笔记。 ... [详细]
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • 本文介绍了自动化测试专家Elfriede Dustin在2008年的文章中讨论了自动化测试项目失败的原因。同时,引用了IDT在2007年进行的一次软件自动化测试的研究调查结果,调查显示很多公司认为自动化测试很有用,但很少有公司成功实施。调查结果表明,缺乏资源是导致自动化测试失败的主要原因,其中37%的人认为缺乏时间。 ... [详细]
  • 2022年的风口:你看不起的行业,真的很挣钱!
    本文介绍了2022年的风口,探讨了一份稳定的副业收入对于普通人增加收入的重要性,以及如何抓住风口来实现赚钱的目标。文章指出,拼命工作并不一定能让人有钱,而是需要顺应时代的方向。 ... [详细]
  • 本文介绍了GregorianCalendar类的基本信息,包括它是Calendar的子类,提供了世界上大多数国家使用的标准日历系统。默认情况下,它对应格里高利日历创立时的日期,但可以通过调用setGregorianChange()方法来更改起始日期。同时,文中还提到了GregorianCalendar类为每个日历字段使用的默认值。 ... [详细]
  • MySQL中的MVVC多版本并发控制机制的应用及实现
    本文介绍了MySQL中MVCC的应用及实现机制。MVCC是一种提高并发性能的技术,通过对事务内读取的内存进行处理,避免写操作堵塞读操作的并发问题。与其他数据库系统的MVCC实现机制不尽相同,MySQL的MVCC是在undolog中实现的。通过undolog可以找回数据的历史版本,提供给用户读取或在回滚时覆盖数据页上的数据。MySQL的大多数事务型存储引擎都实现了MVCC,但各自的实现机制有所不同。 ... [详细]
author-avatar
书友36296361
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有