初探git——版本控制工具git实用教程

news2024/11/16 19:41:07

文章目录

  • 前言
  • 基本配置
  • 基本操作
    • 1.初始化
    • 2.查看修改状态(status)
    • 3.添加工作区到暂存区
    • 4.提交暂存区到本地仓库
    • 5.查看提交日志
    • 6.版本回退
    • 7.添加文件至忽略列表
  • 分支
    • 1.基本命令
    • 2.分支冲突
  • git远程仓库
    • 1.创建远程仓库
    • 2.配置公钥
    • 3.操作远程仓库
  • idea配置git

前言

Git是目前世界上最先进的分布式版本控制系统

git 的整体工作流程:

在这里插入图片描述

1.clone(克隆): 从远程仓库中克隆代码到本地仓库
2. checkout (检出):从本地仓库中检出一个仓库分支然后进行修订
3. add(添加): 在提交前先将代码提交到暂存区
4. commit(提交): 提交到本地仓库。本地仓库中保存修改的各个历史版本
5. fetch (抓取) : 从远程库,抓取到本地仓库,不进行任何的合并动作,一般操作比较少。
6. pull (拉取) : 从远程库拉到本地库,自动进行合并(merge),然后放到到工作区,相当于 fetch+merge
7. push(推送) : 修改完成后,需要和团队成员共享代码时,将代码推送到远程仓库

git练习小网站
https://learngitbranching.js.org/?locale=zh_CN

基本配置

设置用户信息

git config --global user.name “Your Name”
git config --global user.email “YourName@example.com”

在这里插入图片描述

基本操作

在本地的操作如下图:
首先要将文件git add 到暂存区,然后再git commit 到本地仓库

在这里插入图片描述

常用命令

命令含义
git init初始化
git status查看修改状态
git add添加工作区到暂存区
git commit -m “注释内容”提交暂存区到本地仓库
git reset --hard commitID版本回退
git log查看提交日志

1.初始化

在这里插入图片描述

2.查看修改状态(status)

现在文件已经创建好,我们可以通过git status查看状态,如下图:

在这里插入图片描述

3.添加工作区到暂存区

接下来我们通过git add添加到暂存区,看到下图:

在这里插入图片描述

4.提交暂存区到本地仓库

提交到本地仓库:

在这里插入图片描述

5.查看提交日志

最后通过git log查看提交日志:
在这里插入图片描述

其中git log 还有其他几个参数
–all 显示所有分支
–pretty=oneline 将提交信息显示为一行
–abbrev-commit 使得输出的commitId更简短
–graph 以图的形式显示

如:

在这里插入图片描述
在这里插入图片描述

并且这些参数可以联合使用:
在这里插入图片描述

所以我们干脆使用这个,此时为了方便,我们可以设置一个别名:

alias git-log='git log --pretty=oneline --all --graph --abbrev-commit'

这样以后在git-log时,就可以得到简短且有用的log信息

6.版本回退

7.添加文件至忽略列表

一些文件无需添加至git列表,如日志文件,.idea等,这时,可以在工作目录中创建一个名为 .gitignore 的文件

用通配符指明不需要添加的文件,常见的表示有:

# no .a files
*.a
# but do track lib.a, even though you're ignoring .a files above
!lib.a
# ignore all files in the build/ directory
build/

分支

1.基本命令

命令含义
git branch查看分支
git branch 分支名创建分支
git checkout 分支名切换分支
git checkout -b (新)分支名创建并切换分支
git merge 分支名合并分支
git branch -d 分支名删除分支(不能删除当前分支)

(1)创建分支
仓库初始化后就会自动生成一个master分支,可以创建其他分支,git branch b1

(2)切换分支
git checkout b1 就可以切换到b1分支

(3) 合并分支
如果想把b1分支的内容合并到主分支,可以在主分支下运行git merge b1

2.分支冲突

当两个分支上对文件的修改可能会存在冲突,例如同时修改了同一个文件的同一行,这时就需要手动解决冲突,解决冲突步骤如下:
(1)处理文件中冲突的地方
(2)将解决完冲突的文件加入暂存区(add)
(3)提交到仓库(commit)

git远程仓库

1.创建远程仓库

可以使用码云gitee或github创建,这里以gitee为例:

在这里插入图片描述

2.配置公钥

在这里插入图片描述

3.操作远程仓库

命令含义
git remote add <远端名> <仓库路径>添加远程仓库
git remote查看远程仓库
git push <远端名> <分支名>推送到远程仓库
git clone <仓库路径>从远程仓库克隆
git fetch <远端名> <远程分支>将仓库里的更新都抓取到本地
git pull <远程名> <远程分支>将远端仓库的修改拉到本地并自动进行合并

先将本地仓库与远程仓库对应 git remote add,这里的远端名只是自己去取的一个名字(也可能本地仓库可以对应其他远程仓库,所以取一个名字,通常是origin)

在这里插入图片描述

clone克隆,fetch抓取和pull拉取

clone一般只执行一次;
抓取指令就是将仓库里的更新都抓取到本地,不会进行合并;
拉取指令就是将远端仓库的修改拉到本地并自动进行合并,等同于fetch+merge

idea配置git

都是一些操作上的,这里就不展开了

参考链接:
https://www.bilibili.com/video/BV1MU4y1Y7h5p=8&share_source=copy_web

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/399226.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

九龙证券|业绩增长态势向好 沪市数字产业公司活力迸发

3月8日晚间&#xff0c;中国联通发表年报并举行成绩说明会&#xff0c;年报显现&#xff0c;公司2022年完成经营收入&#xff08;兼并报表&#xff09;3549.44亿元&#xff0c;同比增加8.30%&#xff1b;归属于母公司股东净利润72.99亿元&#xff0c;同比增加15.80%&#xff0c…

【计算机视觉】Zero-shot, One-shot和Few-shot的理解

机器学习任务按照对 样本量 的需求可以分为&#xff1a;传统监督式学习、Few-shot Learning、One-shot Learning、Zero-shot Learning。 文章目录一、传统监督式学习二、Zero-shot learning &#xff08;零样本学习&#xff0c;简称ZSL&#xff09;三、Few-shot learning3.1 什…

【SpringMVC】 一文掌握 》》》 @RequestMapping注解

个人简介&#xff1a;Java领域新星创作者&#xff1b;阿里云技术博主、星级博主、专家博主&#xff1b;正在Java学习的路上摸爬滚打&#xff0c;记录学习的过程~ 个人主页&#xff1a;.29.的博客 学习社区&#xff1a;进去逛一逛~ RequestMapping注解一、SpringMVC环境准备1.相…

阿里云服务器使用教程:CentOS 7 安装JDK及Tomcat(以jdk1.8、tomcat9.0.37为例)

目录 1、下载JDK及Tomcat的安装包并上传至服务器 2、安装JDK 3、安装Tomcat 4、Tomcat启动后无法打开Tomcat首页的原因 1、下载JDK及Tomcat的安装包并上传至服务器 &#xff08;1&#xff09;下载JDK1.8版本压缩包 官网&#xff1a;Java Downloads | Oracle &#xff08…

C++回顾(十七)—— 类型转换

17.1 static_cast(expr) static_cast强制类型转换 用于基本类型间的转换&#xff0c;但不能用于基本类型指针之间的转换 用于有继承关系类对象之间的转换和类指针之间的转换 static_cast是在编译期间转换的&#xff0c;无法在运行时检测类型 所以类类型之间的转换有可能存在风…

002 第一季SpringBoot2核心技术-核心功能:

三、核心技术之- ->核心功能 1. 配置文件 1.1 文件类型 1.1.1 properties 同以前的properties用法 优先级高于yml的方式。 1.1.2 yaml 1) 简介 YAML 是 “YAML Ain’t Markup Language”&#xff08;YAML 不是一种标记语言&#xff09;的递归缩写。在开发的这种语言时…

ArcGIS:栅格计算器的运算符和函数详解

01 栅格计算器在哪&#xff1f;02 运算符说明栅格计算器的表达式书写与Python语法一致&#xff08;由于其为解释型语言并且语言简洁优美&#xff0c;因此简单上手&#xff09;&#xff0c;这里主要简单说明各个运算符即可使用栅格计算器构建地图代数表达式以输出要求的栅格图像…

给力|这是一个专业的开源快速开发框架!

在低代码开发市场&#xff0c;专业的开源快速开发框架可以助力企业提升办公协作效率&#xff0c;实现提质增效的办公自动化的发展目标。 流辰信息低代码技术开发平台服务商&#xff0c;拥有丰富的技术经验和案例合作经验&#xff0c;针对不同的客户需求&#xff0c;提供个性化、…

Docker-数据卷之Dockerfile

dockerfile相当于一个脚本通过该脚本可以生成一个自定义的镜像Dockerfile命令:注意&#xff1a;Dockerfile中的指令必须都是大写#基础镜像&#xff0c;一切从这儿开始构建 FROM #镜像是谁写的&#xff0c;姓名邮箱 MAINTAINER #镜像构建时候需要运行的命令 RUN #步骤&#xff1…

Nginx 文件名逻辑漏洞(CVE-2013-4547)

注意&#xff1a;仅用于技术讨论&#xff0c;切勿用于其他用途&#xff0c;一切后果与本人无关&#xff01;&#xff01;&#xff01; 个人博客地址&#xff1a;HJW个人博客 理论基础&#xff1a; 建议提前学习nginx的原理&#xff1a;Nginx服务漏洞详解 - 知乎 漏洞原理&a…

【项目实战】如何使用Postman调用WebSocket程序

一、背景说明 项目中需要使用WebSocket进行通信&#xff0c;开发完了WebSocket接口&#xff0c;总得测试吧&#xff0c;以下是Postman调用WebSocket程序的方法。 二、注意事项 2.1 为啥选Postman&#xff1f; 最近都在用ApiFox做接口调用&#xff0c;但是目前版本的ApiFox&…

新库上线 | CnOpenData注册会计师及事务所数据

注册会计师及事务所数据 一、数据简介 注册会计师是指取得注册会计师证书并在会计师事务所执业的人员&#xff0c;从事审计、咨询、税务等相关业务。事务所是指依法在中国境内设立&#xff0c;由中国公民组成&#xff0c;具有独立法人资格&#xff0c;接受投资者和其他利害关系…

Python之webmagic爬虫优点与使用

一、webmagic的优点它更偏向于java的语法&#xff0c;对于熟悉java的工程师来说学习成本较低提供多种选择器&#xff0c;如css选择器、xpath、正则等有一个模块pipeline&#xff1a;可通过简单地配置&#xff0c;可以将爬虫抽取到的信息&#xff0c;持久化到文件、数据库等。二…

git 提交 多人开发避免冲突

代码正常提交 git add . git commit -m ‘备注信息’ git status 查看本地提交状态 git pull 拉取代码 git push origin master 指定远程仓库名和分支名 ‘’ 如果多人开发 A和B 提交避免冲突 B拉取代码修改内容直接提交后 A也修改了内容在git add / git commit / git pull / g…

新品发布 | 单细胞转录组学

单细胞转录组学测序(Single cell RNA-seq)&#xff1a;是对单个细胞的转录组进行研究的一项技术&#xff0c;其原理是将分离的单个细胞中微量的mRNA通过扩增后再进行高通量测序&#xff0c;主要用于研究异质性细胞的独特表型和生物学功能&#xff0c;有助于发现新的稀有细胞类型…

【JavaSE系列】 第九节 —— 多态那些事儿

文章目录 前言 一、多态的概念 二、向上转型和向下转型 2.1 向上转型 2.2 什么是向上转型 2.3 三种常见的向上转型 2.3.1 直接赋值 2.3.2 作为方法的参数 2.3.3 作为方法的返回值 2.4 向下转型&#xff08;这个了解即可&#xff09; 三、方法重写 3.1 方法重写的…

启动golang项目编译的exe可执行文件获取windows管理员权限(UAC)

背景&#xff1a; go代码启动以后里面涉及到修改ip地址等操作&#xff0c;需要管理员权限。打包好的exe文件双击执行默认是没有管理员权限的&#xff0c;那么修改ip就会提示需要管理员权限。 解决方法1&#xff1a;右键以管理员权限运行exe文件 解决方法2&#xff1a;编译exe…

前端jQuery ajax请求,后端node.js使用cors跨域

前言 跨域&#xff0c;一句话介绍&#xff1a; 你要请求的URL地址与当前的URL地址&#xff0c;协议不同、域名不同、端口不同时&#xff0c;就是跨域。 步入正题 前端&#xff0c;jQuery ajax请求 $.ajax({async: false,method: post,//URl和端口与后台匹配好&#xff0c;当…

点云分割预研

文章目录激光雷达点云分割1.点云分割主流方案&#xff08;模型角度&#xff09;1.1 (a) 基于RGB-D图像1.2 (d) 基于点云1.3 (b) 基于投影图像1.4 (b) 基于投影图像 - SqueezeSeg/RangeNet1.4. 球映射2 点云分割主流方案&#xff08;部署角度&#xff09;3 点云分割常用指标4 点…

MySQL 02 :三层结构、备份删除数据库

MySQL 02 &#xff1a;数据库三层结构-破除MySQL神秘 请添加图片描述 通过golang操作MySQL 创建删除数据库 备份恢复数据库 第一次需要配置环境&#xff0c;否则会报错 报错&#xff1a;mysqldump: Got error: 1045: Access denied for user ‘root’‘localhost’ (using …