Git介绍与使用
Git介绍与常用命令的使用
目录:
一、Git简介
二、Git简单命令行入门
三、Git常用命令
四、常见问题补充
一、Git简介
Git 是一个开源的分布式版本控制系统,是目前世界上最先进、最流行的版本控制系统。可以快速高效地处理从很小到非常大的项目版本管理。特点:项目越大越复杂,协同开发者越多,越能体现出 Git 的高性能和高可用性。
Git基本概念
分类 | 介绍 |
---|---|
工作区 | 仓库的目录。工作区是独立于各个分支的。 |
暂存区 | 数据暂时存放的区域,类似于工作区写入版本库前的缓存区。暂存区是独立于各个分支的。 |
版本库 | 存放所有已经提交到本地仓库的代码版本 |
版本结构 | 树结构,树中每个节点代表一个代码版本。 |
二、Git简单命令行入门
一键将本地文件推送到远程,使用命令+介绍
命令初始化一个新的 Git 仓库
git init
通过 git remote add 命令将远程仓库连接到您的本地仓库。
git remote add origin <远程仓库URL>
使用 git pull 命令拉取远程更新。
git pull origin master
将所有待加入暂存区的文件加入暂存区
git add .
“xxx给自己看的备注信息”:将暂存区的内容提交到当前分支
git commit -m "xxx"
推送到远程仓库(第一次提交加-u,标志用于与远程分支建立关联)
git push -u origin master
推送到远程仓库
git push
三、Git常用命令
编号 | 命令 | 解释 |
---|---|---|
1 | git config --global user.name xxx | 设置全局用户名,信息记录在~/.gitconfig文件中 |
2 | git config --global user.email xxx@xxx.com | 设置全局邮箱地址,信息记录在~/.gitconfig文件中 |
3 | git init | 将当前目录配置成git仓库,信息记录在隐藏的.git文件夹中 |
4 | git add XX | 将XX文件添加到暂存区 |
5 | git add . | 将所有待加入暂存区的文件加入暂存区 |
6 | git rm --cached XX | 将文件从仓库索引目录中删掉 |
7 | git commit -m “给自己看的备注信息” | 将暂存区的内容提交到当前分支 |
8 | git status | 查看仓库状态 |
9 | git diff XX | 查看XX文件相对于暂存区修改了哪些内容 |
10 | git log | 查看当前分支的所有版本 |
11 | git reflog | 查看HEAD指针的移动历史(包括被回滚的版本) |
12 | git reset --hard HEAD^ 或 git reset --hard HEAD~ | 将代码库回滚到上一个版本 |
13 | git reset --hard HEAD^^ | 往上回滚两次,以此类推 |
14 | git reset --hard HEAD~100 | 往上回滚100个版本 |
15 | git reset --hard 版本号 | 回滚到某一特定版本 |
16 | git checkout — XX或git restore XX | 将XX文件尚未加入暂存区的修改全部撤销 |
17 | git remote add origin <远程Git仓库地址> | 将本地仓库关联到远程仓库 |
18 | git push -u (第一次需要-u,以后不需要) | 将当前分支推送到远程仓库 |
19 | git push origin branch_name | 将本地的某个分支推送到远程仓库 |
20 | git clone <远程Git仓库地址> | 将远程仓库XXX下载到当前目录下 |
21 | git checkout -b branch_name | 创建并切换到branch_name这个分支 |
22 | git branch | 查看所有分支和当前所处分支 |
23 | git checkout branch_name | 切换到branch_name这个分支 |
24 | git merge branch_name | 将分支branch_name合并到当前分支上 |
25 | git branch -d branch_name | 删除本地仓库的branch_name分支 |
26 | git branch branch_name | 创建新分支 |
27 | git push --set-upstream origin branch_name | 设置本地的branch_name分支对应远程仓库的branch_name分支 |
28 | git push -d origin branch_name | 删除远程仓库的branch_name分支 |
29 | git pull | 将远程仓库的当前分支与本地仓库的当前分支合并 |
30 | git pull origin branch_name | 将远程仓库的branch_name分支与本地仓库的当前分支合并 |
31 | git branch --set-upstream-to=origin/branch_name1 branch_name2 | 将远程的branch_name1分支与本地的branch_name2分支对应 |
32 | git checkout -t origin/branch_name | 将远程的branch_name分支拉取到本地 |
33 | git stash | 将工作区和暂存区中尚未提交的修改存入栈中 |
34 | git stash apply | 将栈顶存储的修改恢复到当前分支,但不删除栈顶元素 |
35 | git stash drop | 删除栈顶存储的修改 |
36 | git stash pop | 将栈顶存储的修改恢复到当前分支,同时删除栈顶元素 |
37 | git stash list | 查看栈中所有元素 |
四、常见问题补充
1、缺乏Git练习?
来玩Git小游戏 Learn Git Branching
2、Git 与 SVN 共同点与区别?
共同点:
- 版本控制系统: SVN 和 Git 都是版本控制系统,允许开发人员跟踪文件的变化、回溯到不同的版本、合并多个开发者的工作等。
- 协作开发: 两者都允许多个开发者协同工作在同一个项目上,管理代码的更改和集成新功能。
区别:
- 分布式 vs. 集中式:
- Git 是分布式版本控制系统,每个开发者都有一个完整的本地存储库副本,可以独立地工作、提交更改和合并。
- SVN 是集中式版本控制系统,所有代码存储在一个中央服务器上,开发者需要与服务器进行交互来获取最新代码或提交更改。
- 工作方式:
- Git 通过将每个版本作为文件系统快照来管理文件的变化。每次提交时,Git 会创建一个新的快照,包含项目当前状态的副本。
- SVN 以文件为基础,跟踪每个文件的每个版本的变化。
- 分支和合并:
- Git 的分支和合并非常快速和高效,因为它在本地存储库中保存了完整的历史记录,并且分支操作仅涉及指向不同提交的指针移动。
- SVN 的分支和合并相对复杂,涉及创建复制版本,因为它是集中式系统,没有本地完整历史记录。
- 性能和效率:
- Git 在处理大型项目和分支时通常更快、更高效,因为大部分操作都在本地完成。
- SVN 在大型项目和分支方面可能会变慢,特别是在集中式存储库上。
3、官方等相关链接?
Git下载:https://git-scm.com/download
SVN 官网:https://subversion.apache.org
Github SVN 源码:https://github.com/apache/subversion
相关文章:
Git介绍与使用
Git介绍与常用命令的使用 目录: 一、Git简介 二、Git简单命令行入门 三、Git常用命令 四、常见问题补充 一、Git简介 Git 是一个开源的分布式版本控制系统,是目前世界上最先进、最流行的版本控制系统。可以快速高效地处理从很小到非常大的项目版本管理。特点&…...
React18源码: React中的LanePriority和SchedulerPriority
优先级区别和联系 在源码中,3种优先级位于不同的js文件,是相互独立的注意: LanePriority 和 SchedulerPriority 从命名上看,它们代表的是优先级ReactPriorityLevel 从命名上看,它代表的是等级而不是优先级 它用于衡量…...

Android Studio基础(下载安装与简单使用)
1、搭建Android开发平台 1.1 Android Studio 下载地址及版本说明 Android 开发者官网: https://developer.android.com/index.html(全球,需科学上网) https://developer.android.google.cn/index.html(国内ÿ…...

MyBatisPlus条件构造器和常用接口
前置配置文章 一、wapper介绍 wrapper的继承体系: Wrapper : 条件构造抽象类,最顶端父类 AbstractWrapper : 用于查询条件封装,生成 sql 的 where 条件 QueryWrapper : 查询条件封装UpdateWrapper &#x…...

ABAP 导入Excel表示例程序
目录 ABAP 导入excel示例程序创建程序使用的结构上传下载模板 ABAP 导入excel示例程序 批量导入程序,需要使用到导入模板,首先需要创建程序,之后是需要创建excel导入模板,并且需要将excel导入模板上传到SAP系统里面,之…...

Spring之AOP源码解析(中)
前言 在上一篇文章中,我们讲解了Spring中那些注解可能会产生AOP动态代理,我们通过源码发现,完成AOP相关操作都和ProxyFactory这个类有密切关系,这一篇我们将围绕这个类继续解析 演示 作用 ProxyFactory采用策略模式生成动态代理对象,具体生成cglib动态代理还是jdk动态代理,…...
《Docker极简教程》--Docker卷和数据持久化--Docker卷的使用
一、基本操作 1.1 创建Docker卷 创建 Docker 卷是在 Docker 中管理持久化数据的重要步骤之一。通过 Docker 卷,可以将数据与容器解耦,实现数据的持久化存储,并且可以在容器之间共享数据。以下是创建 Docker 卷使用 docker volume create 命…...
【Logback】如何在项目中快速引入Logback日志?
目录 1、引入相关依赖或者 jar 包 2、使用logback日志 3、引入logback配置文件 4、打印logback内部状态信息 Logback 是 Java 社区中使用最广泛的日志框架之一。它是其前身 Log4j 的替代品。Logback 比所有现有的日志框架速度更快,占用空间更小,而且…...

【Linux从青铜到王者】 基础IO
本篇重点:文件描述符,重定向,缓冲区,磁盘结构,文件系统,inode理解文件的增删查改,查找一个文件为什么一定要有路径,动静态库,有的时候为什么找不到库,动态库的…...

C++之类作用域
目录 1、全局作用域 2、类作用域 2.1、设计模式之Pimpl 2.2、单例模式的自动释放 2.2.0、检测内存泄漏的工具valgrind 2.2.1、可以使用友元形式进行设计 2.2.2、内部类加静态数据成员形式 2.2.3、atexit方式进行 2.2.4、pthread_once形式 作用域可以分为类作用域、类名…...
SpringCloud Gateway网关 全局过滤器[AntPathMatcher 某些路径url禁止访问] 实现用户鉴权
前提:先保证Gateway网关项目 和 Nacos注册中心 等可以正常访问和调用,搭建方法可查看博文SpringCloud Gateway网关 项目创建 及 整合Nacos开发_spring gateway如何设置工程名称-CSDN博客 类似的全局鉴权方案,参考如下: SpringClo…...

ELK介绍以及搭建
基础环境 hostnamectl set-hostname els01 hostnamectl set-hostname els02 hostnamectl set-hostname els03 hostnamectl set-hostname kbased -i s/SELINUXenforcing/SELINUXdisabled/ /etc/selinux/config systemctl stop firewalld & systemctl disable firewalld# 安…...

Spring中的ApplicationContext.publishEvent
简单理解 其实就是监听处理。比如找工作平台上,雇主 employer 发布自己的雇佣条件,目的是平台中有符合条件的求职者时,及时向雇主推荐。求职者发布简历,当平台发现某个求职者比较符合条件,就触发被动,推荐…...
jackson、gson、fastjson和json-lib四种主流json解析框架对比
一、四种框架的介绍和对比 在Java中,Jackson、Gson、Fastjson和json-lib都是流行的JSON解析框架,它们各自有一些特点和优势。下面是对它们进行简要介绍和对比: 1.1 介绍 1) Jackson: Jackson是由FasterXML开发的一个高性能的J…...

已解决:IDEA中@Autowired自动注入MyBatis Mapper报红警告的几种解决方法
今天在使用 IDEA 使用 MyBatis 的时候遇到了这种情况: 可以看到 userMapper 下有个红色的波浪警告,虽然代码没有任何问题,能正常运行,但是这个红色警告在这里杵着确实让人很窝心。 于是我在网上找了找,最终明白了原因…...
在jar里限制指定的包名才可调用(白名单)。
1. 在jar包中定义一个接口,例如 用于检查传入的hash值是否匹配预设的值。 2. 在调用接口的地方,获取当前应用的hash值。 3. 将当前应用的hash值与预设的值进行比较,如果匹配,则允许调用接口;否则,拒绝调用。…...

python 提取PDF文字
使用pdfplumber,不能提取扫描的pdf和插入的图片。 import pdfplumberfile_path rD:\UserData\admindesktop\官方文档\1903_Mesh-Models-Overview_FINAL.pdf with pdfplumber.open(file_path) as pdf:page pdf.pages[0]print(page.extract_text()) # 所以文字prin…...

电气机械5G智能工厂数字孪生可视化平台,推进电气机械行业数字化转型
电气机械5G智能工厂数字孪生可视化平台,推进电气机械行业数字化转型。随着科技的不断发展,数字化转型已经成为各行各业发展的重要趋势。电气机械行业作为传统制造业的重要组成部分,也面临着数字化转型的挑战和机遇。为了更好地推进电气机械行…...

C# (WebApi)整合 Swagger
SpringBoot-整合Swagger_jboot整合swagger-CSDN博客 C# webapi 也可以整合Swagger webapi运行其实有个自带的HELP页面 但是如果觉得UI不好看,且没办法显示方法注释等不方便的操作,我们也可以整合Swagger 一、使用NuGet控制台安装Swagger 在菜单中选择…...

导入excel某些数值是0
目录 导入excel某些数值是0数据全部都是0原因解决 部分数据是0原因解决 导入excel某些数值是0 数据全部都是0 有一列“工单本月入库重量”全部的数据都是0 原因 展示的时候,展示的字段和内表需要展示的字段不一致,导致显示的是0。 解决 修改展示的字…...

遍历 Map 类型集合的方法汇总
1 方法一 先用方法 keySet() 获取集合中的所有键。再通过 gey(key) 方法用对应键获取值 import java.util.HashMap; import java.util.Set;public class Test {public static void main(String[] args) {HashMap hashMap new HashMap();hashMap.put("语文",99);has…...

转转集团旗下首家二手多品类循环仓店“超级转转”开业
6月9日,国内领先的循环经济企业转转集团旗下首家二手多品类循环仓店“超级转转”正式开业。 转转集团创始人兼CEO黄炜、转转循环时尚发起人朱珠、转转集团COO兼红布林CEO胡伟琨、王府井集团副总裁祝捷等出席了开业剪彩仪式。 据「TMT星球」了解,“超级…...
【算法训练营Day07】字符串part1
文章目录 反转字符串反转字符串II替换数字 反转字符串 题目链接:344. 反转字符串 双指针法,两个指针的元素直接调转即可 class Solution {public void reverseString(char[] s) {int head 0;int end s.length - 1;while(head < end) {char temp …...

CocosCreator 之 JavaScript/TypeScript和Java的相互交互
引擎版本: 3.8.1 语言: JavaScript/TypeScript、C、Java 环境:Window 参考:Java原生反射机制 您好,我是鹤九日! 回顾 在上篇文章中:CocosCreator Android项目接入UnityAds 广告SDK。 我们简单讲…...
Rust 异步编程
Rust 异步编程 引言 Rust 是一种系统编程语言,以其高性能、安全性以及零成本抽象而著称。在多核处理器成为主流的今天,异步编程成为了一种提高应用性能、优化资源利用的有效手段。本文将深入探讨 Rust 异步编程的核心概念、常用库以及最佳实践。 异步编程基础 什么是异步…...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...

学校时钟系统,标准考场时钟系统,AI亮相2025高考,赛思时钟系统为教育公平筑起“精准防线”
2025年#高考 将在近日拉开帷幕,#AI 监考一度冲上热搜。当AI深度融入高考,#时间同步 不再是辅助功能,而是决定AI监考系统成败的“生命线”。 AI亮相2025高考,40种异常行为0.5秒精准识别 2025年高考即将拉开帷幕,江西、…...
Fabric V2.5 通用溯源系统——增加图片上传与下载功能
fabric-trace项目在发布一年后,部署量已突破1000次,为支持更多场景,现新增支持图片信息上链,本文对图片上传、下载功能代码进行梳理,包含智能合约、后端、前端部分。 一、智能合约修改 为了增加图片信息上链溯源,需要对底层数据结构进行修改,在此对智能合约中的农产品数…...

R语言速释制剂QBD解决方案之三
本文是《Quality by Design for ANDAs: An Example for Immediate-Release Dosage Forms》第一个处方的R语言解决方案。 第一个处方研究评估原料药粒径分布、MCC/Lactose比例、崩解剂用量对制剂CQAs的影响。 第二处方研究用于理解颗粒外加硬脂酸镁和滑石粉对片剂质量和可生产…...

深度学习水论文:mamba+图像增强
🧀当前视觉领域对高效长序列建模需求激增,对Mamba图像增强这方向的研究自然也逐渐火热。原因在于其高效长程建模,以及动态计算优势,在图像质量提升和细节恢复方面有难以替代的作用。 🧀因此短时间内,就有不…...