IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> Java第三阶段-git仓库 -> 正文阅读

[开发工具]Java第三阶段-git仓库


版本控制(VCS)

考虑两个问题:

1)小组分工合作开发项目时如何将代码整合到一起?

2)如果项目出现问题,如何回到正确版本上?

那么我们就需要一种工具能集中管理项目的代码,每个开发人员能够获得项目代码,并能够将代码提交到项目上;除此外能保存不同版本的代码,方便代码切换到特定的版本上。

VCS的概念

版本控制系统(version control system),是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。版本控制系统不仅可以应用于软件源代码的文本文件,而且可以对任何类型的文件进行版本控制。

常用的版本控制器主要是两种

  • git:一种分布式版本控制工具
  • SVN:一个开放源代码的集中式版本控制系统

集中式和分布式的区别

集中式

一台电脑作为服务器,每台电脑都把代码提交到服务器上,再从服务器下载代码。如果网络出现问题或服务器宕机,系统就不能使用了。

在这里插入图片描述

分布式

没有中央服务器,每台电脑都可以保存代码版本,没有网络的时候可以先提交到本地,每台电脑也都可以作为服务器,其他电脑可以从作为服务器的电脑上克隆代码,可见分布式系统比集中式系统的安全性高很多。

在这里插入图片描述

这里主要使用git

git的工作流程

在这里插入图片描述

1、git clone 克隆远程资源到本地目录,作为工作目录;

2、然后在本地的克隆目录上添加或修改文件;

3、如果远程修改了,需要同步远程的内容,直接git pull就可以更新本地的文件;

4、本地在修改之后,可以通过git status 查看修改的文件。然后使用git add 添加修改的文件暂到缓冲区;

5、在添加之后,可以使用git commit添加到当前的工作区;

6、在修改完成后,如果发现错误,可以撤回提交并再次修改并提交;

7、git push将本地的修改推送到远程的git服务器。

git的基本使用

1.下载并安装git

下载地址:
官网腾讯网站(本人没用过)
因为之后是使用IDEA使用,所以直接一直下一步直到安装完成即可

2.添加用户参数

Windows的命令(在cmd中执行即可)
下列指令的$均不需要输入,Linux中也是自动输入

$ git config --global user.name "用户名"
$ git config --global user.email "邮箱"

用户名最好不要用中文
邮箱是用于连接远程仓库(github、gitee)时用,需要远程仓库也要使用此邮箱作为主邮箱

3.初始化git仓库

选择需要进行版本控制的文件夹(测试时新建一个文件夹即可),在此文件夹路径中使用cmd输入

$ git init

该文件夹中生成了一个.git文件夹即为成功(可能为隐藏文件)

4.添加文件

Git有3个区域,一个是工作区,一个叫暂存区,一个叫仓库。见上面图
添加文件即将工作区的文件添加到暂存区。

向缓存区添加指定文件
$ git add readme.txt

向缓存区添加全部文件
$ git add .

向缓存区添加全部文件
$ git add -A

5. 提交文件

将缓存区的文件提交到仓库,提交说明为必选项

$ git commit -m '提交说明'

5.1 查看文件当前状态

会显示是否有某个文件和本地仓库中的文件不同

$ git status

5.2 查看变化

会显示是否有某个文件和本地仓库中的文件详细不同

$ git diff

二者的区别
在这里插入图片描述

5.3 Git回退

5.3.1 查看提交记录

$ git log

5.3.2 查看每一次操作记录

$ git reflog

5.3.3 版本回退

$ git reset --hard HEAD~1

首先,Git必须知道当前版本是哪个版本,在Git中,用HEAD表示当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100

HEAD~100是指回退100个版本,不是回退到第100个版本

6. 管理修改

6.1 管理修改

文件第一次修改是需要添加到暂存区

第一次修改内容为1 -> git add -> 第二次修改内容为2 -> git commit

提交的结果是1,因为第一次修改后添加到了缓存区,commit提交的是缓存区,第二次修改是工作目录,没有添加

6.2 撤销修改

每次版本回退会把所有内容都回退,如果只是要回退一个

git checkout -- readme.txt

撤销的是本地仓库的修改,工作区的并没有变

6.3 删除文件

从工作区删除文件
rm 1.txt

从暂存区中删除文件
git rm 1.txt

从版本库中删除文件
git commit -m "remove 1.txt"

工作区的可以直接删除硬盘上的文件
暂存区的可以再次add相同文件覆盖
版本库(本地仓库)上的东西一般不会删

远程仓库

git clone支持https和git(即ssh)两种方式下载源码,这里只介绍ssh方法

1.配置用户名和邮箱

可以先输入git config --global --list 查看是否配置

在这里插入图片描述
user.name是用户名,一般建议和github(gitee)上的相同
uer.email是邮箱,必须和github(gitee)上的相同
在这里插入图片描述

选中的两行如果确定没问题就是已经配置了,可以下一步

若未配置则可以输入下列代码

git config --global  user.name "这里换上你的用户名"
git config --global user.email "这里换上你的邮箱"```

2.生成ssh

输入下列代码生成公钥和密钥

ssh-keygen -t rsa -C "这里换上你的邮箱"

在这里插入图片描述
上面的图就是生成成功了
打开计算机的下列路径C:\Users\你的用户名\.ssh

在这里插入图片描述

3.配置ssh

选择有pub后缀的打开,将里面的内容复制
打开github(gitee)的设置

在这里插入图片描述

点击左侧ssh,点击添加ssh
在这里插入图片描述
title:这个ssh的名字
key type:ssh的类型是公钥还是密钥
key:把刚刚复制的粘进去就行
在这里插入图片描述
点击下方的Add SSH key即可添加

4.添加远程仓库

用代码添加

git remote add origin 远程仓库地址

在idea中添加
在这里插入图片描述
在这里插入图片描述

提交代码到暂存区

完成上述步骤1之后,本地文件会显示为红色,表示这些文件未加入至暂存区,这里可以进入Git面板或者使用快捷键Ctrl+Alt+A将显示为红色并且需要提交的文件提交到暂存区
在这里插入图片描述
加入到暂存区之后,文件颜色状态由红色变成绿色
在这里插入图片描述

idea项目文件会出现不同的颜色

  • 红色 没有加入到git暂存区

  • 绿色 加入暂存区,没有提交

  • 蓝色 做了修改,没有提交

  • 白色 完成提交,是最新的

点击idea右上角的绿色的√或者使用快捷键Ctrl+K,新增提交信息
在这里插入图片描述
编辑好提交信息后,点击commit后面的三角,选择commit and push直接提交到远程仓库
在这里插入图片描述
在弹出的对话框中,默认选中第一个添加作为首要的远程仓库,然后点击push按钮完成推送到远程仓库,若没有可以直接添加远程仓库
在这里插入图片描述
添加完成后即可push,可以去网站上查看
在这里插入图片描述

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-09-30 01:11:02  更:2022-09-30 01:12:33 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 21:20:55-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码