前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java学习笔记-全栈-web开发-18-Git

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

作者头像
devi
发布2021-08-18 15:46:18
5150
发布2021-08-18 15:46:18
举报
文章被收录于专栏:搬砖记录

本章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)

5. 在已有项目上创建空分支

1.创建一个空白的分支的需求

在Git中创建分支,是必须有一个父节点的,也就是说必须在已有的分支上来创建新的分支,如果工程已经进行了一段时间,这个时候是无法创建空分支的。但是有时候就是需要创建一个空白的分支。

2.解决方法:

2.1 使用 git checkout的–orphan参数:

代码语言:javascript
复制
git checkout --orphan emptybranch

该命令会生成一个叫emptybranch的分支,该分支会包含父分支的所有文件。但新的分支不会指向任何以前的提交,就是它没有历史,如果你提交当前内容,那么这次提交就是这个分支的首次提交。 2.2 删除所有文件:

想要空分支,所以需要把当前内容全部删除,用git命令

代码语言:javascript
复制
git rm -rf . //注意:最后的‘.’不能少。

2.3 提交分支:

如果没有任何文件提交的话,分支是看不到的,所以我们需要创建一个新文件,然后提交则新创建的branch就会显示出来。

代码语言:javascript
复制
echo '# new branch' >> README.md

git add README.md

git commit -m 'new branch'

2.4 最后push到远程仓库,则新的空分支就创建成功了。

代码语言:javascript
复制
git push origin emptybranch

6. 强行拉取远程代码覆盖本地更新

git fetch --all 拉取所有 git reset --hard origin 重设指针到最新 git pull

慎用,本地代码如果没有备份,会将本地的代码全部删除,而且找不回来。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/12/29 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 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
            • 5. 在已有项目上创建空分支
              • 1.创建一个空白的分支的需求
                • 2.解决方法:
                • 6. 强行拉取远程代码覆盖本地更新
                相关产品与服务
                项目管理
                CODING 项目管理(CODING Project Management,CODING-PM)工具包含迭代管理、需求管理、任务管理、缺陷管理、文件/wiki 等功能,适用于研发团队进行项目管理或敏捷开发实践。结合敏捷研发理念,帮助您对产品进行迭代规划,让每个迭代中的需求、任务、缺陷无障碍沟通流转, 让项目开发过程风险可控,达到可持续性快速迭代。
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档