当前位置: 首页 > news >正文

Git 实战教程

Git 是一款强大的分布式版本控制系统,广泛用于团队协作与项目管理。本文将为你提供一份 Git 的实战教程,通过实例演示 Git 的基本用法和高级特性,帮助你快速上手 Git。

一、Git 基础

  1. 安装 Git

首先,你需要在你的计算机上安装 Git。你可以访问 Git 官网下载对应操作系统的安装包,按照提示进行安装即可。

  1. 配置 Git

安装完成后,你需要配置 Git 的用户名和邮箱,这些信息将用于标识你的提交记录。打开终端或命令提示符,输入以下命令:

git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"
  1. 初始化仓库

在本地创建一个新的目录,然后在这个目录下打开终端或命令提示符,输入以下命令初始化一个新的 Git 仓库:

git init

初始化完成后,你会在当前目录下看到一个名为 .git 的隐藏文件夹,这是 Git 仓库的核心部分。

二、Git 常用命令

  1. 添加文件到暂存区

假设你在仓库中创建了一个名为 hello.txt 的文件,你可以使用 git add 命令将其添加到暂存区:

git add hello.txt

如果你想一次性添加所有文件,可以使用 git add . 命令。

  1. 提交文件到仓库

将文件添加到暂存区后,你可以使用 git commit 命令将其提交到仓库:

git commit -m "Add hello.txt file"

这里的 -m 参数用于添加提交信息,帮助你和其他协作者了解这次提交的内容。

  1. 查看提交记录

使用 git log 命令可以查看仓库的提交记录:

git log
  1. 回退到之前的版本

如果你想回退到之前的某个版本,可以使用 git reset 命令。首先,你需要找到要回退到的版本的哈希值(commit hash),然后使用以下命令进行回退:

git reset --hard <commit-hash>

注意:git reset --hard 会丢弃当前版本之后的所有提交记录,所以在使用前请确保你了解这个操作的后果。

三、Git 分支管理

  1. 创建分支

使用 git branch 命令可以创建新的分支。例如,创建一个名为 feature 的分支:

git branch feature
  1. 切换分支

使用 git checkout 命令可以切换分支。例如,切换到 feature 分支:

git checkout feature

你也可以使用 git checkout -b 命令一次性创建并切换到新分支。

  1. 合并分支

当你在某个分支上完成了一些工作,并希望将这些工作合并到其他分支时,可以使用 git merge 命令。例如,将 feature 分支合并到 master 分支:

首先,切换到 master 分支:

git checkout master

然后,合并 feature 分支:

git merge feature

如果合并过程中出现冲突,你需要手动解决冲突并提交解决后的文件。

四、Git 远程仓库

  1. 添加远程仓库

使用 git remote add 命令可以将本地仓库与远程仓库关联起来。例如,添加一个名为 origin 的远程仓库:

git remote add origin https://github.com/your-username/your-repo.git

这里的 URL 是你的远程仓库地址。

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

使用 git push 命令可以将本地分支推送到远程仓库。例如,将 master 分支推送到 origin 远程仓库:

git push -u origin master

这里的 -u 参数用于设置本地分支与远程分支的关联关系,以后可以直接使用 git pushgit pull 命令进行推送和拉取操作。

  1. 从远程仓库拉取更新

使用 git pull 命令可以从远程仓库拉取最新的更新。例如,从 origin 远程仓库拉取 master 分支的更新:

git pull origin master

以上就是 Git 的基本用法和高级特性的实战教程。通过学习和实践这些命令,你将能够更好地掌握 Git,并在团队协作中发挥出更大的作用。

相关文章:

Git 实战教程

Git 是一款强大的分布式版本控制系统&#xff0c;广泛用于团队协作与项目管理。本文将为你提供一份 Git 的实战教程&#xff0c;通过实例演示 Git 的基本用法和高级特性&#xff0c;帮助你快速上手 Git。 一、Git 基础 安装 Git 首先&#xff0c;你需要在你的计算机上安装 G…...

解决Vue中仓库持久化的问题,不借助插件用原生JS实现仓库持久化。了解仓库的插件机制、监听的时机

1、演示 前言&#xff1a;目前Vue有两种仓库&#xff0c;一种是Vuex&#xff0c;一种是Pinia&#xff0c;懂得都懂&#xff0c;这里就不详细介绍这两者的区别了 2、什么是持久化 仓库里面的数据是需要跨越页面周期的&#xff0c;当页面刷新之后数据还在&#xff0c;在默认情况下…...

ajax的优缺点有哪些?

我们先来介绍一下什么是ajax&#xff1a; 对于ajax的理解&#xff0c;ajax是一种使用现有技术集合技术内容包括: HTML或XHTML、CSS、 JavaScript、DOM、XML、 XSLT&#xff0c; 以及最重要的XMLHttpRequest。 用于浏览器与服务器之间使用异步数据传输(HTTP请求)&#xff0c;做…...

自贡市第一人民医院:超融合与 SKS 承载 HIS 等核心业务应用,加速国产化与云原生转型

自贡市第一人民医院始建于 1908 年&#xff0c;现已发展成为集医疗、科研、教学、预防、公共卫生应急处置为一体的三级甲等综合公立医院。医院建有“全国综合医院中医药工作示范单位”等 8 个国家级基地&#xff0c;建成高级卒中中心、胸痛中心等 6 个国家级中心。医院日门诊量…...

vue使用iview导航栏Menu activeName不生效

activeName不生效 一、问题一、解决方案&#xff0c; 一、问题 根据ivew官网的提示&#xff0c;设置了active-name和open-names以后&#xff0c;发现不管是设置静态是数据还是设置动态的数据&#xff0c;都不生效 一、解决方案&#xff0c; 在设置动态名称的时候&#xff0c…...

谷粒商城实战(008 缓存)

Java项目《谷粒商城》架构师级Java项目实战&#xff0c;对标阿里P6-P7&#xff0c;全网最强 总时长 104:45:00 共408P 此文章包含第151p-第p157的内容 简介 数据库承担落盘&#xff08;持久化&#xff09;工作 拿map做缓存 这种是本地缓存&#xff0c;会有一些问题 分布…...

python的相关语法

Day01 1.Python是什么语言 python是解释性语言&#xff0c;什么为编译&#xff1f;1.生成目标文件&#xff0c;编译型语言在程序执行之前&#xff0c;先会通过编译器对程序执行一个编译的过程&#xff0c;把程序转变成机器语言。运行时就不需要翻译&#xff0c;而直接执行就行。…...

【面试经典150 | 动态规划】最小路径和

文章目录 写在前面Tag题目来源解题思路方法一&#xff1a;动态规划方法二&#xff1a;空间优化 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法&#xff0c;两到三天更新一篇文章&#xff0c;欢迎催更…… 专栏内容以分析题目为主&#xff0c;并附带一些对于本题…...

生成式AI的情感实验——AI能否产生思想和情感?

机器人能感受到爱吗&#xff1f;这是一个很好的问题&#xff0c;也是困扰了科学家们很多年的科学未解之谜。虽然我们尚未准备好向智能机器赋予情感&#xff0c;但智能机器却已经可以借助生成式人工智能&#xff08;AI&#xff09;来帮助我们表达自己的情感。 自然情感表达 AI正…...

力扣贪心算法--第一天

前言 今天是贪心算法的第一天&#xff0c;算法之路重新开始&#xff01; 内容 之前没了解过贪心算法。 什么是贪心 贪心的本质是选择每一阶段的局部最优&#xff0c;从而达到全局最优。难点就是如何通过局部最优&#xff0c;推出整体最优。 一、455.分发饼干 假设你是一…...

Nginx反向代理和缓存

一、Nginx反向代理 1.调度和代理的区别&#xff1a; 1.调度基于内核层面&#xff0c;代理基于应用层面 2.代理必须实现一手托两家 3.调度不需要监听任何端口&#xff0c;不需要工作任何应用程序&#xff0c;代理需要工作和上游服务器一模一样的进程 4.调度没有并发上限&am…...

支持多元AI场景应用,宁畅“NEX AI Lab”开放试用预约中

3月29日&#xff0c;宁畅在京举行发布会&#xff0c;正式发布“全局智算”战略&#xff0c;并在会上推出战略性新品“AI算力栈”&#xff0c;旨在有效解决大模型产业落地的全周期问题。 据宁畅CTO赵雷介绍&#xff0c;“AI算力栈”集成了宁畅在AI计算领域的软硬件能力&#xff…...

Git 如何合并多个连续的提交

我平常的编程喜欢是写一段代码就提交一次&#xff0c;本地一般不攒代码&#xff0c;生怕本地有什么闪失导致白干。但这样就又导致一个问题&#xff1a;查看历史日志时十分不方便&#xff0c;随便找一段提交可以看到&#xff1a; > git log --oneline 8f06be5 add 12/qemu-h…...

k8s 基础入门

1.namespace k8s中的namespace和docker中namespace是两码事&#xff0c;可以理解为k8s中的namespace是为了多租户&#xff0c;dockers中的namespace是为了网络、资源等隔离 2.deployment kubectl create #新建 kubectl aply #新建 更新 升级&#xff1a; 滚动升级&#x…...

【Python项目】AI动物识别工具

目录 背景 技术简介 系统简介 界面预览 背景 成像技术在全球科技发展中扮演了关键角色。在科学研究领域&#xff0c;拍摄所得的图像成为了一种不可或缺的研究工具。特别是在生态学与动物学研究中&#xff0c;鉴于地球的广阔地域和多样的气候条件&#xff0c;利用图像技术捕…...

逻辑回归(Logistic Regression)详解

逻辑回归是一种用于解决二分类问题的统计方法&#xff0c;它通过构建一个模型来预测某个事件的概率。 以下是逻辑回归的一些关键要点&#xff1a; 适用场景&#xff1a;逻辑回归特别适合于处理二分类问题&#xff0c;即两个类别的分类问题&#xff0c;例如判断一封邮件是否为…...

.vimrc文件的语句语法

本文结构&#xff1a; a、简介 b、详细解释其中的一些常见语句和语法。 a、.vimrc 文件是 Vim 编辑器用于配置用户设置和自定义行为的文件。当 Vim 启动时&#xff0c;它会读取 .vimrc 文件中的命令和设置&#xff0c;并根据这些指令来配置编辑器的行为。 b、.vimrc 文件中…...

c语言之函数指针作形参

在一些c语言的大工程中&#xff0c;会在定义的函数中&#xff0c;把一些其他函数指针作为本函数形参。 函数指针作形参的例子 代码如下: #include<stdio.h> int max(int a,int b) { return(a>b?a:b); } int min(int a,int b) { return(a<b?a:b); } i…...

python文件的读取操作

打开文件 fopen("F:/python/helloworld/测试.txt","r",encoding"UTF-8")读取文件 print(f"读取10个字节的结果{f.read(10)}") print(f"读取全部字节的结果{f.read()}") linesf.readlines() print(f"{lines}")读…...

查看并设定【网络适配器】的优先级(跃点数)

目录 前言&#xff1a; 1.查看所有的适配器 2.修改优先级&#xff08;需要以管理员身份运行&#xff09; 跃点数&#xff08;InterfaceMetric &#xff09; DHCP 3.修改后的效果 pwoerShell 再次运行之前的程序 4.其他 参考 网络适配器1&#xff0c;8相关知识介绍1 …...

深入理解 Hadoop 上的 Hive 查询执行流程

在 Hadoop 生态系统中&#xff0c;Hive 是一个重要的分支&#xff0c;它构建在 Hadoop 之上&#xff0c;提供了一个开源的数据仓库系统。它的主要功能是查询和分析存储在 Hadoop 文件中的大型数据集&#xff0c;包括结构化和半结构化数据。Hive 在数据查询、分析和汇总方面发挥…...

JS封装网页进入/退出全屏功能,兼容各大主流浏览器

1、演示 2、封装进入全屏函数 mozRequestFullScreen&#xff1a;兼容Firefox webkitRequestFullscreen&#xff1a;兼容 Chrome、Safari、Opera msRequestFullscreen&#xff1a;兼容&#xff1a;IE/Edge const enter () > {const element document.documentElementif (el…...

el-table的复选框勾选整行变色

要实现el-table的复选框勾选整行变色&#xff0c;你可以使用element-ui提供的row-class-name属性结合scoped slot来完成。 首先&#xff0c;你需要为el-table组件添加 row-class-name 属性&#xff0c;并给它绑定一个方法。在这个方法中&#xff0c;你可以根据你的业务逻辑来判…...

一步一步写线程之八线程池的完善之二数据结构封装

一、数据容器 在前面分析过&#xff0c;不管是线程任务的封装还是同步数据队列的封装&#xff0c;都是需要一个数据结构的。一用来说&#xff0c;如果没有什么特殊的原因&#xff0c;开发者都是使用STL中数据结构。比如前面经常见到的std::queue,std::deque,std::vector,std::…...

go连接数据库(原生)

根据官网文档 Go Wiki: SQL Database Drivers - The Go Programming Language 可以看到go可以连接的关系型数据库 ​ 常用的关系型数据库基本上都支持&#xff0c;下面以mysql为例 下载mysql驱动 打开上面的mysql链接 GitHub - go-sql-driver/mysql: Go MySQL Driver i…...

【C语言】2048小游戏【附源码】

欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 一、游戏描述&#xff1a; 2048是一款数字益智类游戏&#xff0c;玩家需要使用键盘控制数字方块的移动&#xff0c;合并相同数字的方块&#xff0c;最终达到数字方块上出现“2048”的目标。 每次移动操作&#xff0c;所…...

部署项目遇到的各种问题总结

文章目录 前言一、后端问题 jar包运行出现错误宝塔面板使用jdk17二、数据库问题 版本问题三、前端问题 连不上后端总结 前言 在做完项目之后&#xff0c;为了让别人访问到自己的网站&#xff0c;就需要部署前端后端以及数据库&#xff0c;但是在部署的过程中出现了各种问题和困…...

JavaSE:抽象类和接口

目录 一、前言 二、抽象类 &#xff08;一&#xff09;抽象类概念 &#xff08;二&#xff09;使用抽象类的注意事项 &#xff08;三&#xff09;抽象类的作用 三、接口 &#xff08;一&#xff09;接口概念 &#xff08;二&#xff09;接口语法规则 &#xff08;三&a…...

发票是扫码验真好,还是OCR后进行验真好?

随着科技的进步&#xff0c;电子发票的普及使得发票的验真方式也在不断演进。目前&#xff0c;我们常见的发票验真方式主要有两种&#xff1a;一种是扫描发票上的二维码进行验真&#xff0c;另一种是通过OCR&#xff08;Optical Character Recognition&#xff0c;光学字符识别…...

【AIGC调研系列】AIGC+Jmeter实现接口自动化测试脚本生成

AIGC&#xff08;人工智能生成内容&#xff09;结合JMeter实现接口自动化测试脚本生成的方法&#xff0c;主要涉及到通过流量收集工具和AIGC技术获取用户操作接口数据&#xff0c;并利用这些数据生成自动化测试脚本的过程。这种方法可以有效提高软件测试的效率和质量[1]。JMete…...

网站开发移动端多少钱/网站平台如何推广

帧中继&#xff08; Frame Relay&#xff09;是一种用于连接计算机系统的面向分组的通信方法。它主要用在公共或专用网上的局域网互联以及广域网连接。大多数公共电信局都提供帧中继服务&#xff0c;把它作为建立高性能的虚拟广域连接的一种途径。1.实验器材3台思科路由器 3台…...

建立网站专业公司吗/uc信息流广告投放

CAD软件常见问题解答&#xff0c;CAD中的工具栏不见了怎么办&#xff1f;如何清理图形问&#xff1a;AUTOCAD中的工具栏不见了怎么办&#xff1f;答&#xff1a;在工具栏处点右键&#xff0c;工具——选项——配置——重置&#xff0c;也可用命令&#xff1a;MENULOAD命令&…...

小九自助建站/十大广告联盟

关于ubuntu进行提交本地分支到远程库出现问题&#xff1a; 解决方案&#xff1a; 执行如下命令&#xff1a; git remote add origin gitgithub.com:yourusername/test.git yourusername&#xff1a;为github注册名test:为远程库名如图所示&#xff1a; 应执行命令为&#xff1a…...

烟台网站建设 共赢/百度网址

【新近补充留言】 我认为&#xff1a;生成存储过程的访问代码最核心的是如何获取存储过程的信息及参数&#xff0c;如何将这些参数存储起来供模板编写时候使用&#xff0c; 如何根据实际项目不同编写一个模板。 每一种语言都有对应的获取方式&#xff0c;所以思路更重要。 …...

建站系统加盟/百度官网网址

在 Elastic Stack 7.9 之后的发布中&#xff0c;我们可以直接在 Elasticsearch 的配置文件中配置 Node 的角色 &#xff08;node roles&#xff09;。这是一个新的变化。在 7.9 发布版之前&#xff0c;我们使用 node.master: true 这样的方式来定义一个 master 节点&#xff0c…...

wordpress更换icon/网店运营与推广

从网上找了很多资料&#xff0c;参考了如下链接&#xff0c;完成了一个需求&#xff1a;下一行的开始时间&#xff0c;作为上一行开始时间的结束时间。https://www.cnblogs.com/yhzh/p/6222580.html以下是自己做的&#xff0c;可以忽略-- 说明如下&#xff1a;-- 先按照设备号&…...