【Linux探索学习】第十弹——Linux工具篇(五):详解Linux 中 Git 工具的使用与相关知识点

Linux学习笔记:https://blog.csdn.net/2301_80220607/category_12805278.html?spm=1001.2014.3001.5482

前言:

Git 是一个分布式版本控制系统,广泛应用于软件开发中。它能够有效地管理项目的源代码,支持多种工作流,帮助团队协作。本文将详细讲解 Git 的基本概念、常用命令、工作流程以及在 Linux 中的使用。

目录

1. Git 的基本概念

2. Git 的安装

​编辑

3. 创建与配置 Git 仓库

3.1 创建新的 Git 仓库

3.2 克隆现有的 Git 仓库

3.3 配置用户信息

​编辑

4. Git 的基本操作

4.1 查看状态

​编辑

4.2 添加文件到暂存区

4.3 提交更改

​编辑

4.4 查看提交历史

​编辑

4.5 查看文件的修改

5. 分支管理(选修)

5.1 创建分支

5.2 切换分支

5.3 合并分支

5.4 删除分支

6. 远程操作(选修)

6.1 添加远程仓库

6.2 推送到远程仓库

6.3 拉取远程仓库的更改

7. 解决冲突

8. 常用 Git 命令汇总

结论


1. Git 的基本概念

  • 版本控制:Git 记录每次代码变化的历史,用户可以随时查看和恢复到之前的版本。
  • 分布式:每个用户都有完整的代码库和版本历史,可以在本地进行开发,直到准备好将修改推送到远程仓库。
  • 快照:Git 将每一个文件的状态视为一个快照,而不是对比前后状态。

2. Git 的安装

在 Linux 系统中,可以通过包管理器安装 Git。例如,在 Ubuntu 中,可以使用以下命令:

sudo apt update 
sudo apt install git

查看是否安装成功:

git --version

出现上面这种版本号就代表已经安装成功了

3. 创建与配置 Git 仓库

3.1 创建新的 Git 仓库

在项目目录下初始化 Git 仓库:

git init

这一步就直接在你的Linux系统的路径下输入该指令即可,比如我此时的项目目录为:

输入该指令创建新的Git仓库

3.2 克隆现有的 Git 仓库

如果想要从远程仓库克隆项目,可以使用:

git clone <repository-url>(仓库链接)

这一步是比较重要的一步,我们需要先将仓库的链接复制下来,就拿gitee来举例,gitee的仓库链接位置在:

复制下来仓库的位置,将我们的项目传到远程仓库的例子如下:

我们可以看到执行语句如上,然后我们查看一下我们当前目录下的文件:

会发现有一个蓝色的文件名,这个文件名正是我所创建的仓库名,有这个就代表我们仓库已经克隆成功了

3.3 配置用户信息

设置 Git 用户名和电子邮件,这些信息会被记录到每次提交中:

git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"

这里的用户名和电子邮件一定要设置成与你远程仓库中一样的

4. Git 的基本操作

4.1 查看状态

查看当前工作区和暂存区的状态:

git status

4.2 添加文件到暂存区

在进行提交之前,需要将文件添加到暂存区:

git add <file-name> # 添加单个文件 
git add . # 添加当前目录下所有变化的文件

就比如上文中我们所看到的我们目录下有一个test.c文件,我们要想将它上传到仓库中去,就要先将该文件添加到缓存区中去,添加的操作如下:

4.3 提交更改

提交暂存区的变化,添加提交信息:

git commit -m "Commit message"(工作日志)

经过这个操作,我们就可以把我们的test.c文件传送到远程仓库了

4.4 查看提交历史

查看项目的提交历史:

git log

4.5 查看文件的修改

查看某个文件的修改历史:

git blame <file-name>

5. 分支管理(选修)

5.1 创建分支

创建一个新的分支:

git branch <branch-name>

5.2 切换分支

切换到指定的分支:

git checkout <branch-name>

5.3 合并分支

将某个分支合并到当前分支:

git merge <branch-name>

5.4 删除分支

删除不再需要的分支:

git branch -d <branch-name>

6. 远程操作(选修)

6.1 添加远程仓库

添加一个新的远程仓库:

git remote add origin <repository-url>

6.2 推送到远程仓库

将本地分支的更改推送到远程仓库:

git push origin <branch-name>

6.3 拉取远程仓库的更改

从远程仓库拉取最新的更改:

git pull origin <branch-name>

7. 解决冲突

在合并时,如果同一文件的同一部分被不同地修改,Git 会产生合并冲突。解决冲突后,使用以下命令标记为已解决:

git add <file-name> git commit -m "Resolved merge conflict"

8. 常用 Git 命令汇总

命令描述
git init初始化 Git 仓库
git clone <url>克隆远程仓库
git status查看文件状态
git add <file>添加文件到暂存区
git commit -m "message"提交暂存区的更改
git log查看提交历史
git branch列出所有分支
git checkout <branch>切换分支
git merge <branch>合并分支
git push推送更改到远程仓库
git pull拉取远程仓库的更改

结论

Git 是一个强大的工具,能够帮助开发者高效地管理项目。通过学习和掌握 Git 的使用,可以更好地进行版本控制和团队协作。本文中前四章我们一定要学会如何使用,对于我们日常学习来说,能够使用好前四项内容就够用了,至于分支管理和远程操作属于拓展内容,感兴趣的可以自己摸索一下

感谢各位大佬观看,创作不易,还请各位大佬点赞支持!!!

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

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

相关文章

【系统文档】系统安全保障措施,安全运营保障,系统应急预案,系统验收相关资料(word原件)

一、身份鉴别 二、访问控制 三、通信完整性、保密性 四、抗抵赖 五、数据完整性 六、数据保密性 七、应用安全支撑系统设计 软件资料获取及全资料学习获取&#xff1a;本文末个人名片或进主页。

Windows Server修改 SID 操作说明

操作场景 Windows操作系统对计算机和用户的识别是通过安全标识符&#xff08;SID&#xff09;进行区分。由于基于同一镜像生产的云服务器实例 SID 相同&#xff0c;会引起无法入域的问题。如果您需要搭建 Windows 域环境&#xff0c;则需要通过修改 SID 以达到入域的目的。 本…

Java项目实战II基于Spring Boot的疗养院管理系统设计与实现(开发文档+数据库+源码)

目录 一、前言 二、技术介绍 三、系统实现 四、文档参考 五、核心代码 六、源码获取 全栈码农以及毕业设计实战开发&#xff0c;CSDN平台Java领域新星创作者&#xff0c;专注于大学生项目实战开发、讲解和毕业答疑辅导。获取源码联系方式请查看文末 一、前言 随着人口老…

Canny边缘检测中Hysteresis Thresholding(滞后阈值)名字的由来

Hysteresis Thresholding直译是滞后阈值。注意区分hysteresis、heuristic、hypothesis。 Hysteresis&#xff1a;在物理学中指滞后现象。 Canny边缘检测中滞后阈值这个名字来源于物理学中的滞后现象。通过设置两个不同的阈值来决定哪些像素属于边缘。这两个阈值分别是高阈值&…

[ Linux 命令基础 6 ] Linux 命令详解-权限和用户管理命令

&#x1f36c; 博主介绍 &#x1f468;‍&#x1f393; 博主介绍&#xff1a;大家好&#xff0c;我是 _PowerShell &#xff0c;很高兴认识大家~ ✨主攻领域&#xff1a;【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】 &#x1f389;点赞➕评论➕收藏 养成习…

# ubuntu创建新用户和它的家目录

ubuntu创建新用户和它的家目录 一、使用 useradd命令创建新用户和它的家目录&#xff1a; 1、命令如下&#xff1a; #sudo useradd -r -m -s /bin/bash userName #如&#xff1a;sudo useradd -r -m -s /bin/bash zhangsan2、命令参数解释 -r : 建立系统账号。 -m : 自动建…

网线类别线芯含义和传输距离以及水晶头制作标准

网线八芯每根的含义&#xff1a; 网线的八根线芯&#xff0c;也被称为RJ45网线中的8芯&#xff0c;网线采用8根线芯&#xff0c;这八根线芯各自承担着特定的功能。这8根线芯被分为4对&#xff0c;每对以特定的方式绞合在一起&#xff0c;8芯网线主要是为了减少电磁信号的相互干…

HTB:Sightless[WriteUP]

目录 连接至HTB服务器并启动靶机 使用nmap对靶机TCP端口进行开放扫描 继续使用nmap对靶机开放的TCP端口进行脚本、服务扫描 首先尝试对靶机FTP服务进行匿名登录 使用curl访问靶机80端口 使用浏览器可以直接访问该域名 使用浏览器直接访问该子域 Getshell 横向移动 查…

Golang | Leetcode Golang题解之第554题砖墙

题目&#xff1a; 题解&#xff1a; func leastBricks(wall [][]int) int {cnt : map[int]int{}for _, widths : range wall {sum : 0for _, width : range widths[:len(widths)-1] {sum widthcnt[sum]}}maxCnt : 0for _, c : range cnt {if c > maxCnt {maxCnt c}}retur…

斯坦福泡茶机器人DexCap源码解析:涵盖收集数据、处理数据、模型训练三大阶段

前言 因为我司「七月在线」关于dexcap的复现/优化接近尾声了&#xff0c;故准备把dexcap的源码也分析下。​下周则分析下iDP3的源码——为队伍「iDP3人形的复现/优化」助力 最开始&#xff0c;dexcap的源码分析属于此文《DexCap——斯坦福李飞飞团队泡茶机器人&#xff1a;带…

高中数学:概率-随机实验、样本空间、随机事件

文章目录 一、随机实验二、样本空间三、随机事件例题 四、事件运算 一、随机实验 二、样本空间 三、随机事件 例如 样本空间 Ω { a , b , c , d , e , f } 则&#xff0c;事件 A { a , b , c } &#xff0c;是一个随机事件 事件 B { d } 是一个基本事件 样本空间Ω\{a,b,c…

w~大模型~合集21

我自己的原文哦~ https://blog.51cto.com/whaosoft/12459590 #大模型~微调~用带反馈的自训练 面对当前微调大模型主要依赖人类生成数据的普遍做法&#xff0c;谷歌 DeepMind 探索出了一种减少这种依赖的更高效方法。大模型微调非得依赖人类数据吗&#xff1f;用带反馈的自训…

利用 Vue.js 开发动态组件的实战指南

&#x1f4dd;个人主页&#x1f339;&#xff1a;一ge科研小菜鸡-CSDN博客 &#x1f339;&#x1f339;期待您的关注 &#x1f339;&#x1f339; Vue.js 是现代 Web 开发中非常流行的框架&#xff0c;以其渐进式架构和组件化设计受到广泛欢迎。组件化开发是 Vue.js 的核心优势…

Jmeter中的配置原件(一)

配置原件 1--CSV Data Set Config 用途 参数化测试&#xff1a;从CSV文件中读取数据&#xff0c;为每个请求提供不同的参数值。数据驱动测试&#xff1a;使用外部数据文件来驱动测试&#xff0c;使测试更加灵活和可扩展。 配置步骤 准备CSV文件 创建一个CSV文件&#xff0c…

MCU的OTA升级(未完-持续更新)

1.术语 ISP : In-System Programming 在系统编程&#xff0c;是一种通过MCU&#xff08;微控制器单元&#xff09;上的内置引导程序&#xff08;BootLoader&#xff09;来实现对芯片内部存储器&#xff08;如Flash&#xff09;进行编程的技术。 华大目前对应的ISP IAP&…

让redis一直开启服务/自动启动

文章目录 你的redis是怎么打开的黑窗不能关?必须要自动启动吗?再说说mysql 本文的所有指令都建议在管理员权限下打开cmd控制台 推荐的以管理员身份打开控制台的方式 Win R 打开运行 输入cmdShift Ctrl Enter 你的redis是怎么打开的 安装过redis的朋友都知道, redis的安…

从认识 VNode VDOM 到实现 mini-vue

前言 现有框架几乎都引入了虚拟 DOM 来对真实 DOM 进行抽象&#xff0c;也就是现在大家所熟知的 VNode 和 VDOM&#xff0c;那么为什么需要引入虚拟 DOM 呢&#xff1f;下面就一起来了解下吧&#xff01;&#xff01;&#xff01; VNode & VDOM VNode 和 VDOM 是什么&am…

vue项目实战

1.项目文件夹添加&#xff08;结构如下&#xff09; 2.页面构建 安装路由 npm install react-router-dom 3.页面基本模板 router文件夹下index.js的模板 // 引入组件 import Login from "../views/login"; // 注册路由数组 const routes [{// 首页默认是/path: …

SD-WAN跨境加速专线:打造无缝、高效的全球社交媒体营销网络

在数字化时代&#xff0c;电子商务与社交媒体的融合已成为不可逆转的趋势。亚马逊&#xff0c;作为全球领先的电子商务平台&#xff0c;近期与Facebook、Instagram、Snapchat、Pinterest和TikTok等社交媒体巨头携手&#xff0c;推出了一项革命性的无缝购物体验。这一创新举措不…

yelp商家数据集上使用火算法求解TSP 问题

先简要回顾下什么是TSP问题&#xff0c; 旅行商问题&#xff08;Traveling Salesman Problem&#xff0c;TSP&#xff09;是一个经典的组合优化问题&#xff0c;广泛应用于运筹学、计算机科学和物流等领域。TSP的基本描述如下&#xff1a; 问题描述 定义&#xff1a;假设有一…