Java第三阶段-git仓库

本文详细介绍了版本控制系统VCS的概念,对比了集中式与分布式版本控制的区别,并重点讲解了Git的工作流程和基本使用方法。内容涵盖Git的下载安装、用户参数配置、仓库初始化、文件管理、提交回退等操作,以及远程仓库的配置和代码推送。适合初学者了解和掌握Git的基础知识。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


版本控制(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,可以去网站上查看
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值