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


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

1. 入门

1.1 概述

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

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

国内git服务器地址:码云
国外git服务器地址:GitHub

1.2 原理图(重点)

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

  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学习笔记-全栈-web开发-18-Git在码云上创建一个Java仓库
Java学习笔记-全栈-web开发-18-Git
复制git路径
Java学习笔记-全栈-web开发-18-Git
创建项目,并创建git仓库
Java学习笔记-全栈-web开发-18-Git然后可以看到项目文件变红

接着将项目add到本地仓库
Java学习笔记-全栈-web开发-18-Git
commit到服务器
Java学习笔记-全栈-web开发-18-GitJava学习笔记-全栈-web开发-18-Git此时会失败,因为项目目录与git服务器目录不一致,
然后打开终端,输入
git push -f 你的git项目地址
强制推送即可。

之后,使用IDEA中VSS下的git操作即可,操作步骤参照原理图。
(比如,更改代码之后,进行add操作,然后commit操作,然后push进行同步)

2.3 版本管理(重要)

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

2.3.1 创建分支

创建分支,用于记录版本。比如此时的分支为1.0版本
Java学习笔记-全栈-web开发-18-Git
Java学习笔记-全栈-web开发-18-Git

2.3.2 主干继续开发

此处checkout可以理解为切换
Java学习笔记-全栈-web开发-18-Git在主干上添加新功能
Java学习笔记-全栈-web开发-18-Gitcommit后并push到git服务器。
Java学习笔记-全栈-web开发-18-Git

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

2.3.4 1.0版本修复BUG

切换回1.0分支
Java学习笔记-全栈-web开发-18-Git可以看到,1.0中并没有新功能
Java学习笔记-全栈-web开发-18-Git
进行BUG修复
Java学习笔记-全栈-web开发-18-Git然后把1.0的代码也commit并push到服务器。
Java学习笔记-全栈-web开发-18-Git可以看到,主干上有新功能,1.0上修复了bug,但bug是在1.0分支上修复的,主干上依旧存在bug,因此,此时需要将1.0合并到主干上,以此修复主干BUG。

2.3.5 合并分支

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

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

Java学习笔记-全栈-web开发-18-Git
合并后,将主干master推送到服务器。

Java学习笔记-全栈-web开发-18-Git
此时可以继续创建2.0分支,然后master作为未来的3.0继续开发。

2.4 查看历史变化

2.4.1 查看版本变化

先鼠标单击选中你想查看的对象(此处选择项目根路径)
然后操作如下:
Java学习笔记-全栈-web开发-18-Git可以看到项目变化

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

2.4.2 对比版本差异

Java学习笔记-全栈-web开发-18-Git
然后会弹出相应的版本号,我这里随便选了一个,查看结果如下:

Java学习笔记-全栈-web开发-18-Git
绿色的部分就是改变的地方

2.5 版本回退

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

此处以1.0BUG修复文件为例,删除该文件。
Java学习笔记-全栈-web开发-18-Git
commit并push
Java学习笔记-全栈-web开发-18-Git
码云上查看变化
Java学习笔记-全栈-web开发-18-Git
选择回退到上一个版本。
Java学习笔记-全栈-web开发-18-Git
四种选项后面都有提示,我们选择Keep模式。
Java学习笔记-全栈-web开发-18-Git回退成功
Java学习笔记-全栈-web开发-18-Git然后打开终端,输入命令
git push -f
即可(误删记录不会出现)

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

3. 从git服务器下载项目

Java学习笔记-全栈-web开发-18-Git
Java学习笔记-全栈-web开发-18-GitJava学习笔记-全栈-web开发-18-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