如何使用Git
简介
一.git简介
Git是一个分布式版本控制工具,通常用来对软件开发过程中的源代码文件进行管理.通过Git仓库来存储和管理这些文件,Git仓库分两种:
- 本地仓库:开发人员自己电脑上的Git仓库
- 远程仓库:远程服务器上的Git仓库
commit:提交,将本地文件和版本信息保存到本地仓库
push:推送,将本地仓库文件和版本信息上传到远程仓库
pull:拉取,将远程仓库文件和版本信息下载到本地仓库

二、Git的核心功能
代码回溯,版本切换,多人协作,远程备份
- 项目的版本管理:Git能够记录项目的每一次修改,包括修改的时间、内容、作者等信息,并生成对应的版本。开发者可以随时查看历史版本,比较不同版本之间的差异,甚至可以回退到任意版本。
- 团队协同开发:Git支持多个开发者在同一项目上进行协同开发,通过分支管理功能,每个开发者可以独立进行开发,不影响其他分支的代码。完成开发后,再将分支合并到主分支上。
三、Git的基本特点
- 分布式版本控制:Git采用分布式架构,每个开发者都可以在本地拥有一个完整的代码仓库,包含项目的全部历史记录和分支信息。这使得开发者可以在没有网络连接的情况下进行版本控制和代码管理。
- 快速高效:Git设计优化了存储和传输过程,使用了快速的算法,使得Git在处理大型项目和大量数据时表现得非常高效。同时,Git的操作命令也非常快速,使开发者能够快速进行版本控制操作。
- 强大的分支管理功能:Git可以轻松创建、合并和删除分支,使得团队协作更加灵活和高效。每个分支都可以独立进行开发,互不影响。
- 完整性保证:Git使用哈希值来标识版本,每一次提交的代码都会计算一个唯一的哈希值,保证了版本的完整性和可追溯性。
- 多种协议支持:Git支持多种协议和方式进行代码的传输和交换,包括HTTP、SSH等,使得团队成员可以方便地共享代码和进行协作开发。
- 缓存机制:Git引入了缓存机制,将文件的变化在内存中暂存,只有在需要提交时才会写入磁盘,大大提高了文件的读写效率。
- 灵活的工作流程:Git提供了灵活的工作流程,可以根据团队的需求配置不同的工作流程,适应不同的开发模式和项目需求。
四、Git的分支管理
- 创建分支:使用
git branch <branch_name>命令创建一个新的分支。 - 查看分支:使用
git branch命令查看当前仓库中的所有分支。 - 切换分支:使用
git checkout <branch_name>命令切换到指定的分支上。 - 合并分支:使用
git merge <branch_name>命令将指定的分支合并到当前分支上。
综上所述,Git是一个功能强大、高效灵活的分布式版本控制系统,被广泛应用于现代软件开发中。通过掌握Git的基本使用流程和分支管理功能,开发者可以更加高效地管理和跟踪代码的修改历史,提高团队协作的效率和质量。
五.安装
Git - Downloading Package
六.Git代码托管服务

登录码云,注册,创建远程仓库 地址https://gitee.com/lansss66/lans-git-01.git
使用git
Git常用指令
一.Git仓库配置


二.获取Git本地仓库


三.Git中的基本概念

在工作区

调用出git控制台,然后输入命令
git add 文件名

工作区文件状态

四.本地仓库操作

git commit 后可加-m'说明添加信息' 提交的文件,若不写提交的文件就是提交暂存区的所有文件
查看日志的commit这行后面的是版本号,可以通过git reset --hard 版本号回退版本

五.Git远程仓库操作

通过远程仓库克隆的本地仓库会与远程仓库建立关联,可通过get remote -v查看远程仓库地址.
想要把本地仓库和远程仓库关联可通过get remote add <shortname> <url>添加一个新的远程git仓库,shortname是别名.
一个本地仓库对应一个远程仓库
通过git push shortname 分支 提交到远程仓库中

从远程仓库克隆的代码包含代码和版本信息等
若团队协作中别人修改了仓库中的文件,想要获取修改的内容 通过git pull shortname 分支 来获取.
克隆只需一次,后面都是拉取
六.分支操作

git branch -r列出所有远程分支 -a列出所有本地和远程 git branch列出所有本地分支
分支之间相互不影响
git merge 把指定分支合并到当前分支
七.标签操作


八.在IDEA中配置Git
创建本地仓库
目录中找到VCS(创建后就会变成git),在项目的目录中选择位置创建git本地仓库即可


创建成功
提交的是源码,git提供了.gitignore文件用于忽略相关的不提交的文件

添加远程仓库


克隆
在git选中克隆选项or创建项目之前克隆
团队协作时,每天上下班都需要拉取或推送(保证没问题)代码,先拉取后提交
相关文章:
如何使用Git
简介 一.git简介 Git是一个分布式版本控制工具,通常用来对软件开发过程中的源代码文件进行管理.通过Git仓库来存储和管理这些文件,Git仓库分两种: 本地仓库:开发人员自己电脑上的Git仓库远程仓库:远程服务器上的Git仓库 commit:提交,将本地文件和版本信息保存到本地仓库 p…...
Redis 哨兵 问题
前言 相关系列 《Redis & 目录》(持续更新)《Redis & 哨兵 & 源码》(学习过程/多有漏误/仅作参考/不再更新)《Redis & 哨兵 & 总结》(学习总结/最新最准/持续更新)《Redis & 哨兵…...
安卓基础001
前言 也是好久没有更新博客了,最近实习也是需要学习一些知识哈哈哈哈哈哈为了更好的发展嘛,咱们从客户端开始,过程可能有点像写前端,不喜勿喷,希望在学习的过程中也可以给大家带来一些简单得帮助吧....... tips:这里跳过安卓studio安装,大家可自行寻找教程 写的不详细,只是为了…...
shodan2:绕过shodan高级会员限制+metasploit批量验证漏洞
shodan2 shodanmetasploit批量验证漏洞 shodan的这个指令语法是特别多的,那么我不可能说一个个全部讲完,因为有的参数可能你一辈子都用不上,主要就是把一些红队最常用的参数给你讲完,今天我们看看怎么去查一个cve-2019-0708的一…...
【JAVA毕业设计】基于Vue和SpringBoot的母婴商城系统
本文项目编号 T 030 ,文末自助获取源码 \color{red}{T030,文末自助获取源码} T030,文末自助获取源码 目录 一、系统介绍二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行性分析 六、核心代码6.1 查…...
探索Python安全字符串处理的奥秘:MarkupSafe库揭秘
文章目录 探索Python安全字符串处理的奥秘:MarkupSafe库揭秘第一部分:背景介绍第二部分:MarkupSafe是什么?第三部分:如何安装MarkupSafe?第四部分:MarkupSafe的简单使用方法1. 使用escape函数2.…...
Xcode真机运行正常,打包报错
1.问题: 老项目Xcode真机运行没问题,但但打包的时候却报了以下错误: some files could not be transferred (code 23) at /AppleInternal/Library/BuildRoots/4ff29661-3588-11ef-9513-e2437461156c/Library/Caches/com.apple.xbs/Sources/r…...
Android Audio基础——音频混音线程介绍(十)
MixerThread 是 Android 音频输出的核心部分,主要负责将多个音频流混合成一个输出流,通常用于处理多个音频源(如音乐播放器、语音通话、系统提示音等)的混音操作,混音后的音频数据会被发送到音频硬件(如扬声器或耳机)进行最终输出。大多数 Android 的音频都需要经过 Mix…...
【Excel】函数各类公式总结
在 Excel 中,有许多常用的公式和函数用于各种类型的计算,包括基本的数学运算、统计运算、逻辑判断、查找与引用、文本处理,以及复数计算。下面列出了一些常用的 Excel 函数: 1、数学与三角函数 SUM求和函数,计算一组…...
【入门篇】2.9 系统滴答定时器 SysTick
目录 一,SysTick 系统滴答定时器 二,SysTick寄存器 2.1 SysTick 控制和状态寄存器(CTRL) 2.2 SysTick 重装载数值寄存器(LOAD) 2.3. SysTick 当前值寄存器(VAL) 2.4 SysTick 校准值寄存器(CALIB) 三,使用SysTick定时器 四,用法示例 一,SysTick 系统滴答定时…...
BiRefNet:颠覆图像分割,AI黑科技再升级
BiRefNet:颠覆图像分割,AI黑科技再升级 BiRefNet 是一款超强的图像分割 AI 模型,精准度惊人✨,适用于医疗、农业、工业等多个领域🌍,让图像处理变得简单高效!快来体验这款黑科技吧!…...
编写一个简单的Iinput_dev框架
往期内容 本专栏往期内容: input子系统的框架和重要数据结构详解-CSDN博客input device和input handler的注册以及匹配过程解析-CSDN博客input device和input handler的注册以及匹配过程解析-CSDN博客 I2C子系统专栏: 专栏地址:IIC子系统_憧憬…...
ctfshow的sql注入解题思路171-211
ctfshow-SQL注入 web171:爆库名->爆表名->爆字段名->爆字段值 -1 union select 1,database() ,3 -- //返回数据库名 -1 union select 1,2,group_concat(table_name) from information_schema.tables where table_schema库名 -- //获取数据库里的表名 -…...
深入理解C语言中的静态库与动态库 —— 原理与实践
引言 在 C 语言编程中,库是预编译的代码集合,用于实现特定功能,以供其他程序使用。库可以分为静态库和动态库两种主要类型。静态库在编译阶段被链接到目标程序中,而动态库则是在运行时被加载。本文旨在深入探讨这两种库的工作原理…...
本地缓存库分析(一):golang-lru
文章目录 本地缓存概览golang-lru标准lrulru的操作PutGet 2q:冷热分离lruPutGet expirable_lru:支持过期时间的lruPutGet过期 总结 本地缓存概览 在业务中,一般会将极高频访问的数据缓存到本地。以减少网络IO的开销,下游服务的压…...
qt配置https请求
qt应用版本 windows 32位 先说下心理路程,你能遇到的我都遇到了,你能想到的我都想到了,怎么解决看这一篇就够了,从上午12点到晚上12点几乎没离开电脑(除了吃饭),对于openssl这种用的时候无感&am…...
C语言进阶——文件操作
一、文件的基本知识 1.1什么是文件 在程序设计中,一般谈的文件有两种:程序文件、数据文件。 程序文件:包括源程序文件(后缀为.c),目标文件(windows环境后缀为.obj),可执…...
MYSQL-查看用户权限语法(二十一)
13.7.5.21 SHOW GRANTS 语句 SHOW GRANTS [FOR user]此语句以GRANT语句的形式显示分配给MySQL用户帐户的权限,必须执行GRANT语句才能复制权限分配。 注意 要显示MySQL帐户的非特权信息,请使用SHOW CREATE USER语句。 参见第 13.7.5.12 节“ SHOW CREA…...
在MySQL中存储IP地址的最佳实践
文章目录 一、IP地址的格式二、存储IP地址的数据类型选择1. VARCHAR优点缺点 2. INT 或 BIGINT优点缺点示例 3. VARBINARY优点缺点示例 三、最佳实践建议1. 选择合适的数据类型2. 索引优化3. 数据验证4. 安全性考虑 四、Java支持五、结论 在现代网络应用中,IP地址是…...
Vite打包配置
Vite打包配置 1.项目启动自动打开网页 {"scripts": {"dev": "vite --open"} }2.base配置打包公共路径 配置base选项的作用主要是指定项目在开发或生产环境中的公共基础路径。这个配置项对于确保资源能够正确加载尤为关键,尤其是在…...
日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする
日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする 1、前言(1)情况说明(2)工程师的信仰2、知识点(1) にする1,接续:名词+にする2,接续:疑问词+にする3,(A)は(B)にする。(2)復習:(1)复习句子(2)ために & ように(3)そう(4)にする3、…...
Docker 运行 Kafka 带 SASL 认证教程
Docker 运行 Kafka 带 SASL 认证教程 Docker 运行 Kafka 带 SASL 认证教程一、说明二、环境准备三、编写 Docker Compose 和 jaas文件docker-compose.yml代码说明:server_jaas.conf 四、启动服务五、验证服务六、连接kafka服务七、总结 Docker 运行 Kafka 带 SASL 认…...
蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练
前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1):从基础到实战的深度解析-CSDN博客,但实际面试中,企业更关注候选人对复杂场景的应对能力(如多设备并发扫描、低功耗与高发现率的平衡)和前沿技术的…...
家政维修平台实战20:权限设计
目录 1 获取工人信息2 搭建工人入口3 权限判断总结 目前我们已经搭建好了基础的用户体系,主要是分成几个表,用户表我们是记录用户的基础信息,包括手机、昵称、头像。而工人和员工各有各的表。那么就有一个问题,不同的角色…...
《通信之道——从微积分到 5G》读书总结
第1章 绪 论 1.1 这是一本什么样的书 通信技术,说到底就是数学。 那些最基础、最本质的部分。 1.2 什么是通信 通信 发送方 接收方 承载信息的信号 解调出其中承载的信息 信息在发送方那里被加工成信号(调制) 把信息从信号中抽取出来&am…...
全志A40i android7.1 调试信息打印串口由uart0改为uart3
一,概述 1. 目的 将调试信息打印串口由uart0改为uart3。 2. 版本信息 Uboot版本:2014.07; Kernel版本:Linux-3.10; 二,Uboot 1. sys_config.fex改动 使能uart3(TX:PH00 RX:PH01),并让boo…...
iview框架主题色的应用
1.下载 less要使用3.0.0以下的版本 npm install less2.7.3 npm install less-loader4.0.52./src/config/theme.js文件 module.exports {yellow: {theme-color: #FDCE04},blue: {theme-color: #547CE7} }在sass中使用theme配置的颜色主题,无需引入,直接可…...
MacOS下Homebrew国内镜像加速指南(2025最新国内镜像加速)
macos brew国内镜像加速方法 brew install 加速formula.jws.json下载慢加速 🍺 最新版brew安装慢到怀疑人生?别怕,教你轻松起飞! 最近Homebrew更新至最新版,每次执行 brew 命令时都会自动从官方地址 https://formulae.…...
深度学习之模型压缩三驾马车:模型剪枝、模型量化、知识蒸馏
一、引言 在深度学习中,我们训练出的神经网络往往非常庞大(比如像 ResNet、YOLOv8、Vision Transformer),虽然精度很高,但“太重”了,运行起来很慢,占用内存大,不适合部署到手机、摄…...
Python 高效图像帧提取与视频编码:实战指南
Python 高效图像帧提取与视频编码:实战指南 在音视频处理领域,图像帧提取与视频编码是基础但极具挑战性的任务。Python 结合强大的第三方库(如 OpenCV、FFmpeg、PyAV),可以高效处理视频流,实现快速帧提取、压缩编码等关键功能。本文将深入介绍如何优化这些流程,提高处理…...
