Java 第11天 (git版本控制器基础用法)

Linux下使用到的命令:

ls -al //查看当前目录下的文件及文件夹

mkdir //新建目录

rm -rf //递归强制删除文件夹

版本控制

一、安装配置

1、下载地址

https://git-scm.com/

2、初始配置

#用户名

git config --global user.name "自定义用户名"

#邮箱(公司的联系方式--追责)

git config --global user.email "邮箱地址"

说明:

  • 安装好git后,第一步就需要初始化个人信息。

  • 设置好后查询,检查是否配置成功,不加用户名或邮箱就代表查询

二、初始化本地仓库

1、版本库

用于跟踪项目代码的仓库(目录),每个本地仓库中会创建一个隐藏文件夹

.git 同级目录下做的所有操作都会被git监管。

2、初始化本地仓库

在普通文件夹下执行如下命令,可以将该文件夹初始化为本地仓库:

git init

3、本地仓库的构成

  • 工作区:存放代码的位置

  • 版本库:工作区中.git文件夹,其中包含暂存区 和 分支区

  • 暂存区:通过git add/rm命令执行后,操作保存的位置(类似于缓存区)

  • 分支区:是最终版本信息保存的位置,git commit 命令提交的信息都会存储在

分支区,通常版本库初始化后会默认创建一个本地分支(master)

也叫主分支。master最好不要删除。

工作区代码发生修改--git add(添加)-->暂存区--git commit(提交)-->分支区

三、版本管理

1、提交新文件

1-在工作区创建新文件

2-查看本地仓库的状态

git status

3-添加新建文件的状态到暂存区

git add 文件名

4-将暂存区的状态提交到本地分支区

git commit -m "备注信息"

2、修改文件

与提交新文件的流程步骤相同

3、查看历史版本

#查看提交的详细日志信息

git log

#查看基本日志信息

git log --pretty=oneline

#查看详细的操作日志

git reflog

4、版本回滚

git reset --hard HEAD^

---或者---

git reset --hard commitID

说明:

  • HEAD 头指针指向当前最新的代码(当前所在版本)

  • ^ 版本回滚到最近一次提交(回跳一个版本)

  • commitID: 执行commit时随机生成的id号,id号取前>=7位即可

5、代码撤销

#只撤销工作区的修改

git checkout -- <file>...

#撤销暂存区的状态

第一步:从暂存撤销回工作区

git reset HEAD <file>...

第二步:撤销工作区

git checkout -- <file>...

#已经提交到本地分支的只需要用版本回滚

6、删除文件

情况一:通过物理删除,利用git记录操作

  • rm -f 文件

  • git add/rm 文件...

  • git commit -m "备注"

情况二:利用git的rm命令执行删除

  • git rm 文件 #删除文件并添加暂存

  • git commit -m "备注"

相关推荐
wangchunyu1141 小时前
JAVA CompletableFuture异步编程实战
java·开发语言·python
paopaokaka_luck2 小时前
流浪动物救助与收养系统(DeepSeek AI对话、 ECharts多维分析、救助流程衔接、领养与回访衔接、 捐赠确认与公示、志愿者协作)
java·前端·javascript·人工智能·mysql·echarts·推荐算法
Thomas.Sir2 小时前
第9课:SpringBoot4.x Web开发基础:WebMvc自动配置、静态资源、请求参数接收
java·spring boot
程序 代码狂人2 小时前
切片表与分区表的区别(数据开发面试版)
java·大数据·开发语言·数据仓库·算法
2501_944521593 小时前
Deepmerge 跨端三方库仓颉适配全流程
java·python·eclipse·github
meiying88384 小时前
快递单号批量查询Python脚本:从手动到自动化的完整实现
开发语言·python·自动化
LannyChung4 小时前
PowerShell 下 git log 中文乱码的完整排查与解决
windows·git
@大迁世界4 小时前
告别 Go,拥抱 Rust
开发语言·golang·rust
SEO_juper4 小时前
Node.js 重定向链检测工具:301 跳了几跳、有没有成环,一次看清
xml·开发语言·python·node.js·json·bash
南归北隐4 小时前
Spring AI Alibaba Graph框架实现MCP数据库查询实战
java·后端·spring ai·mcp·spring ai mcp