菜鸟之路day01一一学学Git

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 《菜鸟之路day01——学学Git》由blue编写,发布于2025年1月13日。本文简要介绍了Git这款分布式版本控制工具的基础操作,包括设置用户签名、初始化本地库、提交文件、查看历史版本、分支管理及冲突解决等。通过学习这些命令,读者可以掌握如何在本地进行版本控制和团队协作的基本技能。文章还涉及了远程仓库的操作,如推送、拉取和克隆等,帮助开发者更好地理解和使用Git。

菜鸟之路day01一一学学Git

作者:blue

时间:2025.1.13

0.简介

Git:是一款分布式的版本控制工具

何谓分布式:分布式是指多个系统协同合作完成一个特定任务的系统。它是不同的系统部署在不同的服务器上,服务器之间相互调用。

1.设置用户签名(只用在安装git的时候配置一次)

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

2.初始化本地库

git init

3.查看本地库状态

git status

4.将文件添加至暂存区(或将文件从暂存区中删除)

git add file_name
git rm --cached file_name    //注意只是在暂存区中删除,就是不让git追踪这个文件了,也就是git不再理会这个文件发生的变化

5.将暂存区的文件提交到本地库(形成历史版本)

git commit -m "日志信息" 文件名

6.查看历史版本信息

git reflog //查看精简日志信息
git log    //查看详细日志信息

7.版本穿梭

改变head指针的指向

git reset --hard 版本号    //版本号来自于你查看简介历史版本的短版本号

8.分支概述

好处:分支可以实现并行推进多个开发项目,提升开发效率。各个分支在开发过程中,如果某一个分支开发失败,不会对其他分支有任何影响,失败的分支删除重新开始即可。

image-20250119070417523.png

9.分支的相关操作

9.1查看分支

git branch -v //查看分支信息,当前所在工作区的分支,会有高亮提示

9.2创建分支

git branch 分支名

9.3切换分支

git checkout 分支名

9.4分支合并

git merge 分支名    //将指定分支合并到当前分支上

9.5分支冲突

产生冲突的原因,两个分支在同一个文件的同一个位置有两套完全不同的修改。git无法替我们决定使用哪一个。必须人为决定新代码的内容

9.5.1手动解决冲突:

产生冲突后,打开文件,会发现它会变成这样。我们依照这个文件,手动的修改,保留我们想要的,删除我们不要的即可。然后把符号都删掉。

(源文件)
<<<<<<< HEAD
(当前分支上的修改)
=======
(欲合并分支的修改)
>>>>>>> hot-fix

image-20250119075739551.png

我手动修改成这样

image-20250119080301028.png

这显然符合我们的预期,然后添加暂存区,提交本地库

但在这里要注意,这次提交本地库的时候,不需要带文件名(当然添加暂存区的时候还是要的)

git commit -m "日志信息" //这样就可以了

10.小结

学完以上操作,仅在本地跑,就已经感觉Linus真是个天才,这么一套流程,解决了版本控制,和并行修改的问题,又方便了版本管理,又提高了效率,你说人为什么可以聪明到这种程度。

最后查看一下日志,可以看到日志详细记录了我们的所有操作。

image-20250119080849296.png

11.Git团队协作

11.1团队内协作

image-20250119085704555.png

11.2跨团队协作

image-20250119090604674.png

12.创建远程库别名

git remote -v    //查看当前所有远程地址的别名

取别名(为什么要取,因为远程地址太长不方便。。。。)

git remote add 别名 远程地址

13.推送本地分支到远程仓库

注意推送的最小单位是分支

git push 别名 分支

14.拉取远程库到本地库

将远程库的内容拉取到目标分支

git pull 别名 分支

15.克隆远程仓库到本地

git clone 远程地址

clone会做如下操作:1.拉取代码;2.初始化本地仓库;3.创建别名

文章内容学习自尚硅谷:BV1vy4y1s7k6

相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
目录
相关文章
|
10月前
|
前端开发 Java 程序员
菜鸟之路day02-04拼图小游戏开发一一JAVA基础综合项目
本项目基于黑马程序员教程,涵盖面向对象进阶、继承、多态等知识,历时约24小时完成。项目去除了登录和注册模块,专注于单机游戏体验。使用Git进行版本管理,代码托管于Gitee。项目包含窗体搭建、事件监听、图片加载与打乱、交互逻辑实现、菜单功能及美化界面等内容。通过此项目,巩固了Java基础并提升了实际开发能力。 仓库地址:[https://gitee.com/zhang-tenglan/puzzlegame.git](https://gitee.com/zhang-tenglan/puzzlegame.git)
264 6
|
6月前
|
Java 数据库 网络架构
菜鸟之路Day36一一Web开发综合案例(部门管理)
本文详细记录了基于Spring Boot的Web开发综合案例——部门管理功能的实现过程。从环境搭建到功能开发,涵盖数据库表设计、Spring Boot项目创建、依赖引入、配置文件设置以及Mapper、Service、Controller的基础结构构建。文章重点讲解了查询、删除、新增和修改部门信息的业务逻辑实现,遵循RESTful规范设计接口,并通过统一响应结果类`Result`优化前后端交互体验。借助Spring的IoC容器管理与MyBatis的SQL映射,实现了高效的数据操作与业务处理,最终完成部门管理的全功能开发。
221 12
|
5月前
|
XML SQL 前端开发
菜鸟之路Day37一一Web开发综合案例(员工管理)
本文介绍了基于Web开发的员工管理综合案例,涵盖分页查询、条件分页查询、删除员工和新增员工四大功能模块。通过前后端交互,前端传递参数(如页码、每页记录数、查询条件等),后端使用MyBatis与PageHelper插件处理数据查询与操作。代码结构清晰,包括Controller层接收请求、Service层业务逻辑处理以及Mapper层数据访问,并结合XML动态SQL实现灵活的条件查询。此外,新增与删除功能分别通过POST与DELETE请求完成,确保系统功能完整且高效。
197 7
|
6月前
|
存储 SQL 关系型数据库
MySQL存储引擎简介
在选择相应的存储引擎时,需要充分考虑实际业务场景、性能需求和数据一致性要求,从而为数据管理提供最佳支持。
379 17
|
10月前
|
消息中间件 人工智能 运维
1月更文特别场——寻找用云高手,分享云&AI实践
我们寻找你,用云高手,欢迎分享你的真知灼见!
3169 68
1月更文特别场——寻找用云高手,分享云&AI实践
|
10月前
|
Linux 网络安全 开发工具
[Git] 如何理解及基础操作
Git 是一种分布式版本控制系统,帮助记录文件的历史和变化,支持多人协作。它由 Linus Torvalds 于 2005 年创建,旨在高效管理大型项目。Git 的核心操作包括 `add`、`commit` 和 `push`,分别用于添加文件、提交更改和同步远程仓库。GitHub 是基于 Git 的云端平台,用户可以在上面保存和分享代码。通过简单的命令如 `git status`、`git log` 等,可以轻松管理项目版本。安装 Git 可在不同操作系统上通过命令行或官网下载完成。掌握这些基础操作后,用户可以高效地进行版本管理和协同开发。
182 23
[Git] 如何理解及基础操作
|
10月前
|
算法 安全 Java
Java线程调度揭秘:从算法到策略,让你面试稳赢!
在社招面试中,关于线程调度和同步的相关问题常常让人感到棘手。今天,我们将深入解析Java中的线程调度算法、调度策略,探讨线程调度器、时间分片的工作原理,并带你了解常见的线程同步方法。让我们一起破解这些面试难题,提升你的Java并发编程技能!
397 16
|
存储 Docker 容器
docker中挂载数据卷到容器
【10月更文挑战第13天】
466 2
|
存储 项目管理 开发工具
掌握Git版本控制,提升团队协作效率
掌握Git版本控制,提升团队协作效率
246 0