用 Git 玩转版本控制
前言
Git,作为当今最流行的版本控制系统,不仅深受程序员们的青睐,也逐渐成为非开发人员管理文档版本的强大工具。本文将从实用主义的角度出发,深入浅出地介绍 Git 的常用命令,并带领大家探索 Git 的高级功能,让你在项目开发中游刃有余。
Git 简介
版本控制的重要性
版本控制是一种记录文件变更历史的方法,它允许开发者:
- 查看历史记录
- 恢复到旧版本
- 管理多人协作开发
- 跟踪记录整个软件的开发过程
版本控制工具的发展
- 本地版本控制:如 RCS,适合个人使用。
- 集中版本控制:如 SVN、CVS,所有数据保存在中央服务器。
- 分布式版本控制:如 Git,每个开发者都有完整的版本库。
Git 的诞生
Git 由 Linux 内核的开发者 Linus Torvalds 创建,目的是解决 Linux 内核项目中版本控制的需求。Git 是免费、开源的,专为性能、速度和效率而设计。
实用主义:Git 常用命令
准备阶段
- 安装 Git:访问 Git 官网,下载并安装适合你操作系统的版本。
- 配置 Git:设置你的用户名和邮箱,这将在每次提交时记录你的信息。
git config user.name "Your Name" git config user.email "your.email@example.com"
常用操作
- 克隆仓库:
git clone https://github.com/username/repository.git
- 查看状态:
git status
- 创建/切换分支:
git branch new-branch git checkout new-branch
- 添加/提交更改:
git add . git commit -m "Commit message"
- 推送到远程仓库:
git push origin new-branch
- 拉取最新代码:
git pull origin new-branch
- 查看提交日志:
git log
- 打标签:
git tag v1.0 git push origin v1.0
Git 高级功能
基本概念
- 工作区:你的项目文件夹。
- 暂存区:准备提交的文件列表。
- 本地版本库:
.git
目录,存储所有分支和标签。 - 远程版本库:如 GitHub 上的仓库。
分支管理
- 查看分支:
git branch -a
- 删除分支:
git branch -d branch-name
- 合并分支:
git merge feature-branch
历史操作
- 高级日志查看:
git log --oneline --graph
- 撤销操作:
git revert HEAD
远程仓库管理
- 添加远程仓库:
git remote add origin https://github.com/username/repository.git
- 查看远程连接:
git remote -v
问题排查
- 代码责任查询:
git blame filename
- 二分查找问题:
git bisect start git bisect bad git bisect good [good_commit] git bisect reset
子模块
- 添加子模块:
git submodule add https://github.com/username/submodule.git
其他高级命令
- 垃圾回收:
git gc
- 打包版本:
git archive --format=zip -o release.zip tagname
总结
Git 的强大功能远不止于此,本文仅涵盖了冰山一角。掌握这些基础和高级命令,将大大提高你的开发效率和版本控制能力。遇到问题时,不要忘了利用搜索引擎,同时做好笔记,以便日后查阅。
相关文章:
![](https://www.ngui.cc/images/no-images.jpg)
用 Git 玩转版本控制
前言 Git,作为当今最流行的版本控制系统,不仅深受程序员们的青睐,也逐渐成为非开发人员管理文档版本的强大工具。本文将从实用主义的角度出发,深入浅出地介绍 Git 的常用命令,并带领大家探索 Git 的高级功能ÿ…...
![](https://www.ngui.cc/images/no-images.jpg)
AJAX中get和post的区别
在AJAX(Asynchronous JavaScript and XML)中,GET 和 POST 是两种常用的HTTP请求方法,它们之间存在一些关键的区别。以下是这些区别的主要点: 请求的目的: GET:通常用于从服务器检索(…...
![](https://img-blog.csdnimg.cn/direct/64926b978d36435f9d9d3faeb561cc5b.png#pic_center)
软件测试笔记
一、介绍 软件测试是为了尽可能多地发现软件系统中的错误而不是证明软件的正确性。 1、软件缺陷是什么? 软件在使用过程中存在的任何问题都叫软件的缺陷,简称bug。 缺陷的判定标准 软件未实现需求说明书中明确要求的功能——少功能 软件出现了需求说…...
![](https://img-blog.csdnimg.cn/img_convert/4cb48ce33a12e9c13c1332457501ed2f.png)
Elasticseach RestClient Api
Elasticsearch RestclientApi基础用法 查询 索引库 初始化 添加依赖 <dependency><groupId>org.elasticsearch.client</groupId><artifactId>elasticsearch-rest-high-level-client</artifactId> </dependency>创建链接 package com…...
![](https://img-blog.csdnimg.cn/direct/84c083ee82ca46b381d754ac1bfa35b2.png#pic_center)
【网络安全学习】漏洞扫描:-04- ZAP漏洞扫描工具
**ZAP(Zed Attack Proxy)**是一款由OWASP组织开发的免费且开源的安全测试工具。 ZAP支持认证、AJAX爬取、自动化扫描、强制浏览和动态SSL证书等功能。 1️⃣ 安装zap工具 现在的kali版本不一定会预装zap,我们可以自行安装,安装也十分简单。 apt-get …...
![](https://www.ngui.cc/images/no-images.jpg)
fffdddd
library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all;entity GJL isport(clk, reset: in std_logic;btn_green, btn_red: in std_logic; -- 新增控制按键r1, r2, y1, y2, g1, g2: out std_logic;ledag: out std_logic_…...
![](https://www.ngui.cc/images/no-images.jpg)
SpringSecurity实战入门——授权
权限系统的作用 例如一个学校图书馆的管理系统,如果是普通学生登录就能看到借书还书相关的功能,不可能让他看到并且去使用添加书籍信息,删除书籍信息等功能。但是如果是一个图书馆管理员的账号登录了,应该就能看到并使用添加书籍信息,删除书籍信息等功能。 总结起来就是…...
![](https://www.ngui.cc/images/no-images.jpg)
Linux 网络请求工具:curl
文章目录 Linux 网络请求:curl1. 安装2. 常规用法3. 传输速率4. FTP5. 代理 Linux 网络请求:curl 1. 安装 若系统没有 curl 命令,可以直接通过 yum 或者 dnf 安装: yum -y install curl # 查看版本,确认安装结果 cu…...
![](https://img-blog.csdnimg.cn/direct/8dddf28c686643d186a5c26053941e64.png)
leetcode 二分查找·系统掌握 寻找旋转排序数组中的最小值II
题目: 题解: 本题比普通的寻找旋转排序数组中的最小值多了一个数组中的元素可以重复这一点。 这会时原来的思路出现一个漏洞(大家感兴趣可以看看我做普通版寻找旋转排序数组最小值的思路),就是旋转后的数组中的第二个…...
![](https://www.ngui.cc/images/no-images.jpg)
Flink 容错
Apache Flink 的容错机制是确保数据流应用程序在出现故障时能够恢复一致状态的关键机制。这一机制主要通过创建分布式数据流和操作符状态的一致快照来实现,这些快照被称为检查点(Checkpoint)。以下是 Flink 容错机制的主要特点和关键点&#…...
![](https://img-blog.csdnimg.cn/direct/dea2b1db6bdf419ca4b9fb894e96bc04.png)
OpenAI策略:指令层级系统让大模型免于恶意攻击
现代的大模型(LLMs)不再仅仅是简单的自动完成系统,它们有潜力赋能各种代理应用,如网页代理、电子邮件秘书、虚拟助手等。然而,这些应用广泛部署的一个主要风险是敌手可能诱使模型执行不安全或灾难性的行动,…...
![](https://img-blog.csdnimg.cn/img_convert/c73befb4990b1205c3b6aaabeb5e8795.png)
芝麻清单助力提升学习工作效率 专注时间完成有效的待办事项
芝麻清单助力提升学习&工作效率 专注时间完成有效的工作。今天我们给大家带来一个专注清单,一个更高效的学习和工作的方法! 我们都知道,专注做一个事情,会有效的提升效率,让事情更高效的完成。如果是学习的话&…...
![](https://www.ngui.cc/images/no-images.jpg)
Docker 容器操作命令
文章目录 前言1. 创建并运行容器2. 列出容器3. 停止容器4. 启动已停止的容器5. 重启容器6. 进入容器7. 删除容器8. 查看容器日志9. 导出和导入容器10. 管理网络11. 数据卷操作12. 设置容器自启动 前言 Docker 容器操作是 Docker 使用过程中非常重要的一部分。以下是一些常见的…...
![](https://www.ngui.cc/images/no-images.jpg)
华为配置创建vlan及划接口,trunk干道,DHCP池塘配置
1、创建 vlan [SWA]vlan 10 [SWA-vlan10]quit [SWA]vlan batch2to3510 批量创建vlan2-3,5.10 2、 接口划入 vlan 单个接口修改接口模式为 access [SWA]interface GigabitEthernet 0/0/5 [SWA-GigabitEthernet0/0/5]port link-type access 批修改为 access [H…...
![](https://img-blog.csdnimg.cn/direct/b099c8bd3640418e813150840a99b697.png)
vue3 computed与watch,watchEffect比较
相同点 都是要根据一个或多个响应式数据进行监听 不同点 computed 如要return回来一个新的响应式值,且这个值不允许直接修改,想要修改的话可以设置set函数,在函数里面去修改所依赖的响应式数据,然后计算属性值会基于其响应式依…...
![](https://img-blog.csdnimg.cn/direct/39e5220a621c43e9bb3e7c445d6c1e4c.png)
论文:R语言数据分析之机器学习论文
欢迎大家关注全网生信学习者系列: WX公zhong号:生信学习者Xiao hong书:生信学习者知hu:生信学习者CDSN:生信学习者2 一、研究背景 全球范围内,乳腺癌是导致癌症发病率和死亡率的主要疾病之一。根据2018年…...
![](https://img-blog.csdnimg.cn/d6dc0126edd141a985d72de501ef756b.jpeg)
【C++】STL中优先级队列的使用与模拟实现
前言:在前面我们学习了栈和队列的使用与模拟实现,今天我们来进一步的学习优先级队列使用与模拟实现 💖 博主CSDN主页:卫卫卫的个人主页 💞 👉 专栏分类:高质量C学习 👈 💯代码仓库:卫…...
![](https://img-blog.csdnimg.cn/direct/19e8de27b63e428b8b34a3c78ff5f58e.png)
C#开发-集合使用和技巧(二)Lambda 表达式介绍和应用
C#开发-集合使用和技巧 Lambda 表达式介绍和应用 C#开发-集合使用和技巧介绍简单的示例:集合查询示例: 1. 基本语法从主体语句上区分:1. 主体为单一表达式2. 主体是代码块(多个表达式语句) 从参数上区分1. 带输入参数的…...
![](https://www.ngui.cc/images/no-images.jpg)
Qt底层原理:深入解析QWidget的绘制技术细节(2)
(本文续上一篇《Qt底层原理:深入解析QWidget的绘制技术细节(1)》) QWidget绘制体系为什么这么设计【重点】 在传统的C图形界面框架中,例如DUILib等,控件的绘制逻辑往往直接在控件的类的内部,例如PushButt…...
![](https://img-blog.csdnimg.cn/img_convert/02509ed5bab9e34faf7252ba3a60f509.png)
【Gradio】表格数据科学与图表-连接到数据库
简介 本指南解释了如何使用 Gradio 将您的应用程序连接到数据库。我们将连接到托管在 AWS 上的 PostgreSQL 数据库,但 gradio 对您连接到的数据库类型及其托管位置完全不可知。因此,只要您能够编写 Python 代码来连接到您的数据,您就可以使用…...
![](https://img-blog.csdnimg.cn/img_convert/303ce4d616a079f35960194676ae2547.jpeg)
艾多美用“艾”为生命加油,献血活动回顾
用艾为生命加油 6月10日~16日,艾多美中国开启献血周活动,已经陆续收到来自烟台总部、山东、广东、河南、四川、重庆、贵阳,乌鲁木齐,吉林,等地区的艾多美员工、会员、经销商发来的爱心助力,截止到目前&…...
![](https://img-blog.csdnimg.cn/img_convert/b30b5b7de22bf1573d5a3c17f44abf34.jpeg)
人工智能在气象预报领域的崛起:GraphCast引领新纪元
最近,谷歌推出的天气预测大模型GraphCast在全球范围内引起了广泛关注,其卓越的表现不仅刷新了人们对AI能力的认知,更预示着传统天气预报工作模式的深刻变革。 GraphCast是一款基于机器学习技术的天气预测工具,它通过深度学习和大数…...
![](https://csdnimg.cn/release/blog_editor_html/release2.3.6/ckeditor/plugins/CsdnLink/icons/icon-default.png?t=N7T8)
http和https的区别在哪
HTTP(超文本传输协议)和HTTPS(超文本传输安全协议)之间存在几个关键区别主要涉及安全性、端口、成本、加密方式、搜索引擎优化(SEO)、身份验证等方面 1、安全性:HTTP(超文本传输协议…...
![](https://img-blog.csdnimg.cn/direct/6fe9f7f9bf12477bbec2a82c0f1e253a.png)
windows10远程桌面端口,Windows 10远程桌面端口修改的两个方法
在Windows 10系统中,远程桌面功能允许用户通过网络从一台计算机远程访问和控制另一台计算机。默认情况下,远程桌面服务使用的端口是3389。然而,出于安全考虑,许多管理员和用户希望修改这一默认端口。本指南将详细介绍如何在Window…...
![](https://www.ngui.cc/images/no-images.jpg)
力扣1504.统计全1子矩形
力扣1504.统计全1子矩形 开一个二维数组存每个点从它本身开始向左有多少连续的1 遍历矩形右下角(i,j) 再遍历行k in i每一行的矩形数量 minx min(minx,left(k,j)) class Solution {public:int numSubmat(vector<vector<int>>& mat) {int n mat.size();int…...
![](https://www.ngui.cc/images/no-images.jpg)
vue3高德地图组件化,解决复用地图组件时渲染失败问题
思路:多个页面都需要调用地图,将地图封装成一个组件进行复用,发现调用时只有第一次渲染成功了。 解决:相同 id 的地图渲染只能有一次,如果多个复用地图的页面不需要同时渲染,使用 v-if 来控制;…...
![](https://www.ngui.cc/images/no-images.jpg)
Langchain 如何工作
How does LangChain work? LangChain是如何工作的? Let’s consider our initial example where we upload the US Constitution PDF and pose questions to it. In this scenario, LangChain compiles the data from the PDF and organizes it. 让我们考虑我们最初的例子…...
![](https://img-blog.csdnimg.cn/direct/de7e5c48907947e8a1a51d86bc7173b8.png)
【数据结构】顺序表实操——通讯录项目
Hi~!这里是奋斗的小羊,很荣幸您能阅读我的文章,诚请评论指点,欢迎欢迎 ~~ 💥💥个人主页:奋斗的小羊 💥💥所属专栏:C语言 🚀本系列文章为个人学习…...
![](https://img-blog.csdnimg.cn/direct/fb0c0f6db53a462a9979a1af8e4567a8.png)
C++继承与多态—多重继承的那些坑该怎么填
课程总目录 文章目录 一、虚基类和虚继承二、菱形继承的问题 一、虚基类和虚继承 虚基类:被虚继承的类,就称为虚基类 virtual作用: virtual修饰成员方法是虚函数可以修饰继承方式,是虚继承,被虚继承的类就称为虚基类…...
![](https://img-blog.csdnimg.cn/direct/7128b783806e4bf2b0e14455a556848a.png)
论文阅读:基于谱分析的全新早停策略
来自JMLR的一篇论文,https://www.jmlr.org/papers/volume24/21-1441/21-1441.pdf 这篇文章试图通过分析模型权重矩阵的频谱来解释模型,并在此基础上提出了一种用于早停的频谱标准。 1,分类难度对权重矩阵谱的影响 1.1 相关研究 在最近针对…...
![](/images/no-images.jpg)
杭州集团网站建设/代写文章接单平台
Nowmore and more students always spend plenty of their time playing computergames. Some of them can even play from morning to night. How terrible it is!现在越来越多的学生总是花很多时间来玩电脑游戏。有些甚至可以从早玩到晚玩。这是多么可怕啊!Playin…...
![](/images/no-images.jpg)
网络规划是干什么的/seo的作用
大家都知道,用document.getElementById(‘element).style.xxx可以获取元素的样式信息,可是它获取的只是DOM元素style属性里的样式规则,对于通过class属性引用的外部样式表,就拿不到我们要的信息了。 DOM标准里有个全局方法getComp…...
做艺术的网站/市场宣传推广方案
一、资源下载 安装memcached 之前必需要先安装 libevent 分别在libevent和memcached的官网下载安装包libevent-1.4.14b-stable.tar.gz和memecached-1.4.22.tar.gz 将两个安装包解压到安装文件夹下(安装文件夹由自己决定) 二、安装libevent 1、进入libeve…...
![](/images/no-images.jpg)
哪些网站可以做宣传/商城系统开发
第1关:集合并行化创建RDD 本关任务:计算并输出各个学生的总成绩。 import org.apache.spark.{SparkConf, SparkContext} object Student {def main(args: Array[String]): Unit = {val conf = new SparkConf...
![](/images/no-images.jpg)
网站建设的关键/搜索引擎营销案例分析
Oracle导出空(无数据)表 exp name/pass fileD:/backup.dmp logD:/backup.log;其中table_1中有数据,table_2中没有数据;由于 ORACLE 11g中有个新特性,当表无数据时,不分配segment,以节省空间。所…...
![](https://img-blog.csdnimg.cn/03a3d0f47c824e13868ff2991df06533.png)
做网站用买服务器码/目前最靠谱的推广平台
📢📢📢📢📢📢 哈喽!大家好,我是 【梦想橡皮擦】,10 年产研经验,致力于 Python 相关技术栈传播 💗 🌻 本文如果觉得不错,动…...