Git基础学习(二)

news2024/11/18 1:39:27

文章目录

  • 一. Git方式的基本概念
  • 二. Git的使用方式
  • 三. Git的常规操作
    • 1. 创建版本库(本地仓库)
    • 2. 设置用户信息配置
      • 1> 查看git的配置列表
        • a. 全局变量
        • b. 局部变量
        • c. 修改对应文件进行配置
        • d. 有个别仓库需要配置成其他用户信息,可进入目标仓库所在文件,
        • e. 生成SSH Key公钥
    • 3. 使用本地仓库(记得初始化才能使用)
      • 1> 将需要管理的文件添加到暂存区:
      • 2> 接下来,提交暂存区中的变更到本地仓库,并添加一个描述信息:

一. Git方式的基本概念

Git是一种分布式版本控制系统,用于跟踪和管理文件的修改历史。它具有以下基本概念和使用方式:

方式概念
代码库(Repository)代码库是用于存储项目的所有文件和历史记录的地方。可以是本地的仓库,也可以是远程的仓库(如GitHub、GitLab等)。
分支(Branch)分支是代码库中的一个独立的开发线。它可以用于并行开发不同的功能或修复不同的问题。默认情况下,Git创建一个名为"master"的主分支。
提交(Commit)提交是对代码库的一次修改,记录了一系列文件的更改。每个提交都有一个唯一的标识符(SHA-1哈希值),可以用于回溯历史。
检出(Checkout)检出是指切换到不同的分支或提交,以查看或修改项目的不同状态。检出分支或提交会将工作目录(Working Directory)中的文件更新为所选版本。
合并(Merge)合并是将一个分支的更改合并到另一个分支的操作。它会自动解决冲突并生成一个新的合并提交。
冲突(Conflict)冲突是指在合并分支时发生的无法自动解决的冲突。需要手动解决冲突后才能完成合并。
推送(Push)推送是将本地分支的修改上传到远程仓库的操作。它将本地分支的提交同步到远程分支。
拉取(Pull)拉取是将远程仓库的修改下载到本地的操作。它会自动合并远程分支和本地分支的修改,或者在有冲突时提示解决。

二. Git的使用方式

方式使用方法
初始化一个新的代码库使用git init命令在当前目录创建一个新的代码库。
克隆一个现有仓库使用git clone命令在本地创建一个仓库的副本。
添加和提交文件使用git add命令将文件添加到暂存区,然后使用git commit命令提交修改。
创建和切换分支使用git branch命令创建一个新的分支,并使用git checkout命令切换到该分支。
合并分支使用git merge命令将一个分支的修改合并到另一个分支。
推送和拉取使用git push命令将本地分支的修改推送到远程仓库,使用git pull命令拉取远程仓库的更新到本地。
查看和比较历史使用git log命令查看提交历史,使用git diff命令比较不同版本的文件差异。

以上是Git的基本概念和使用方式的简要介绍。Git提供了强大的版本控制功能,可以在团队协作中有效地管理和追踪代码的修改历史。

三. Git的常规操作

1. 创建版本库(本地仓库)

首先,打开终端或命令行界面,进入要创建版本库的目录下。
接着,使用以下命令初始化一个空的 Git 仓库:

git init

即初始化本地仓库

说明:
①初始化成功后,文件夹里会生成 .git 文件夹

②默认掩藏,可通过设置 显示隐藏文件夹 查看。

默认情况下,还是文件夹中不显示,免得误操作,误删。

③若删除 .git 文件夹,即把此git仓库删除,文件变成普通非git控制的文件。

2. 设置用户信息配置

1> 查看git的配置列表

git config --list

如果没有配置东西,应该是空的。照着下面配置完成后,你可以再试一下该命令,就会出现一系列配置信息。
将username和email换成github(或者其它类似远程仓库)的用户名和邮箱。
d0a7aad8e86a4b1ebe54d7f4ecc61f61.png

a. 全局变量

–global 表示全局的,即当前用户都有效,该配置会出现在 ~/.gitconfig 文件中,~表示当前用户的目录,比如我的是:C:\Users\username.gitconfig ,打开该文件你会发现如下图所示的内容:
2.png

b. 局部变量

既然有全局的,那么肯定有局部的啊!局部的是不加 --global 的,如下:

git config  user.name  "username"  
git config  user.email  "email"

注意:局部变量覆盖全局变量!!!和编程语言里面的变量关系是一样的。
我在上面我新建的那个仓库里,随便提交了一点东西,然后查看提交日志如下:
3.png

c. 修改对应文件进行配置

修改~/.gitconfig 文件相关设置就好了。

d. 有个别仓库需要配置成其他用户信息,可进入目标仓库所在文件,

右键点击:Git Bash Here ,进入命令行后输入:

git config user.name “新用户名”

git config user.email “新邮箱”

来单独设置仓库的config。

e. 生成SSH Key公钥
  1. 指令:ssh-keygen -t rsa -C “邮箱名”
  2. bash上显示:
    在这里插入图片描述
    这里输入自定义保存key的文件名
  3. SSH Key公钥说明
    ①注意生成的ssh key所在文件位置。
    ②设置密码,后面的确认密码也是一样情况
  4. 在代码托管平台上添加本地仓库SSH公钥

之后就能把本地仓库跟远程仓库关联了

3. 使用本地仓库(记得初始化才能使用)

1> 将需要管理的文件添加到暂存区:

git add <file>

你也可以使用以下命令一次性将所有变更添加到暂存区:

git add .

2> 接下来,提交暂存区中的变更到本地仓库,并添加一个描述信息:

git commit -m "Initial commit"

现在,你已经成功地创建了一个版本库。你可以使用其他 Git 命令来管理它,例如:

git status:查看当前工作区和暂存区的状态。
git log:查看提交记录。
git branch:管理分支。
git remote:管理远程仓库。

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

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

相关文章

Python 如何使用 itertools 模块

itertools 是 Python 中一个非常有用的模块&#xff0c;它提供了许多用于处理迭代器的函数工具。itertools 模块中的函数可以用于生成复杂的迭代器&#xff0c;以支持各种组合、排列和计数操作。 1. 什么是 itertools&#xff1f; itertools 是 Python 的标准库模块&#xff…

自闭症学校收多大儿童?让每个孩子都能获得关爱

在星贝育园&#xff0c;我们深知每一个自闭症儿童都是家庭的希望与未来&#xff0c;他们虽然面临独特的挑战&#xff0c;但同样值得拥有爱与关怀。因此&#xff0c;我们敞开怀抱&#xff0c;欢迎2至20岁的自闭症儿童加入我们的大家庭&#xff0c;让每个孩子都能在这里找到属于自…

腾讯优图开源多模态大模型VITA : GPT-4o的简易平替!

Abs&#xff1a;https://arxiv.org/pdf/2408.05211 Demo&#xff1a;https://vita-home.github.io/ Code&#xff1a;https://github.com/VITA-MLLM/VITA GPT-4o 的卓越多模态能力和用户交互体验在实际应用中非常重要&#xff0c;但没有开源模型在这两个领域同时表现出色。本文…

【c语言】整数在内存中的储存(大小端字节序)

整数在内存中的储存&#xff08;大小端字节序&#xff09; 1.整数在内存中的储存 2.大小端字节序 3.整数在内存中储存例子 4.字节序判断 5.死循环现象 文章目录 整数在内存中的储存&#xff08;大小端字节序&#xff09;整数在内存中的储存大小端字节序什么是大小端为什么会有…

TinaLinux NPU开发

MobileNet V2 MobileNet V2是一种轻量级的卷积神经网络&#xff08;CNN&#xff09;架构&#xff0c;专门设计用于在移动设备和嵌入式设备上进行计算资源受限的实时图像分类和目标检测任务。 以下是MobileNet V2的一些关键特点和创新之处&#xff1a; Depthwise Separable Co…

鸿蒙OS promptAction的使用

效果如下&#xff1a; import { promptAction } from kit.ArkUIlet customDialogId: number 0Builder function customDialogBuilder() {Column() {Blank().height(30)Text(确定要删除吗&#xff1f;).fontSize(15)Blank().height(40)Row() {Button("取消").onClick…

【中仕公考怎么样】2024下半年事业编联考冲刺!

多地下半年事业单位联考公告发布!11月2日笔试! 笔试时间&#xff1a;2024年11月2日(周六)上午。 08:30—10:00 《职业能力倾向测验》10:00—12:00 《综合应用能力》 考试科目&#xff1a; 综合应用能力(A类) 社会科学专技类(B类) 自然科学专技类(C类) 中小学教师类(D类) 医…

.[RestoreBackup@cock.li].SRC勒索病毒数据怎么处理|数据解密恢复

导言&#xff1a; 在数字化时代&#xff0c;信息技术的飞速发展极大地促进了社会进步与经济繁荣&#xff0c;但同时也为网络犯罪分子提供了前所未有的便利。近年来&#xff0c;勒索病毒作为一种新兴的网络威胁&#xff0c;正以前所未有的速度和规模肆虐全球&#xff0c;给个人…

鸿蒙实现在图片上进行标注

一.实现思路 现在需求是&#xff1a;后端会返回在这张图片上的相对位置&#xff0c;然后前端这边需要在图片上进行标注&#xff0c;就是画个框框圈起来&#xff0c;返回的数据里包括当前框的x,y坐标和图片大小&#xff0c;大体思路就是使用canvas绘制&#xff0c;使用鸿蒙的st…

游戏app激励视频广告预加载位置,最大化广告收益

最近收到很多游戏类App开发者咨询激励视频广告&#xff0c;在帮助开发者分析产品的时候&#xff0c;特别是一些初级开发者的App产品&#xff0c;发现用户进入这些App&#xff0c;或者打开某个功能时就弹出激励视频广告&#xff0c;这样是违规的&#xff0c;并且用户看完广告也是…

golang每日一库——casbin开源的访问控制框架

文章目录 casbincasbin工作原理——PERM请求——Request策略——Policy匹配器——Matcher效果——Effect Model语法Request定义Policy定义Policy effect定义Matchers定义 编辑器例子1例子2例子3例子4例子5例子6例子7例子8例子9 casbin Casbin是一个强大且高效的开源访问控制库…

软件测试基础:功能测试知识详解

&#x1f345; 点击文末小卡片 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 一、测试项目启动与研读需求文档 &#xff08;一&#xff09; 组建测试团队 1、测试团队中的角色 2、测试团队的基本责任 尽早地发现软件程序、系统或产品中…

postman使用指北

粘贴 cURL 请求 环境设置 作用&#xff1a;方便切换不同环境&#xff0c;比如配置本地环境/测试环境/线上环境&#xff0c;通过切换环境就可以请求对应环境的接口 配置环境 切换环境请求 Pre-request Script 可以在发送请求之前执行一些脚本操作 1. 常用指令 // 获取请求方…

C++中const的用法

const 我们都见过&#xff0c;但是今天&#xff0c;我们会从头开始重新再说const的所有用法。 一、const修饰普通变量 当我们定义一个变量时&#xff0c;前面加上const修饰的话&#xff0c;这个变量将不再能被修改&#xff0c;称之为常变量。例如&#xff1a; int a10; a20;…

ESD分类和等级划分

1、HBM&#xff1a;Human Body Model&#xff0c;人体模型 2、CDM&#xff1a;Charged Device Model&#xff0c;充电器件模型 3、MM&#xff1a;Machine Model&#xff0c;机器模型&#xff1a; 数据来源网站

总结Java文件操作

文件&#xff1a;文件是一个广义的概念 在操作系统中文件可以指硬件资源和软件资源为文件&#xff1b;也可以指存储在硬盘上的文件&#xff0c;文件夹也是文件&#xff1b;文件夹是通俗的叫法&#xff0c;专业的叫法是目录&#xff1b; 查看我们的硬盘&#xff0c;我们可以发…

C语言分析数据在内存中的存储一:(整形在内存中的存储)

数据类型介绍 我们知道C语言有很多内置类型&#xff1a; char //字符数据类型 1 个字节short //短整型 2 个字节int //整形 4 个字节long //长整形 4 个字节long long //更长的整形 8 个字节float //单精度浮点数 4 个字节dou…

Linux学习记录(十三)----信号

文章目录 6.信号1.信号的发送&#xff08;发送信号进程&#xff09;kill:raise:alarm : 2.信号的接收3.信号的处理信号父子进程间通信 7.信号灯(semaphore)创建信号灯函数控制信号灯函数PV操作 声明&#xff1a;本人撰写的为学习笔记内容来源于网络&#xff0c;如有侵权联系删除…

SQL Server中如何自动抓取阻塞

背景 当发数据库生阻塞时&#xff0c;可以通过SQL语句来获取当前阻塞的会话情况&#xff0c;可以得到下面的信息 说明&#xff1a;会话55阻塞了会话53。两个会话都执行了update test set fid10 where fid0。 但我们也经常碰到客户生产环境出现阻塞&#xff0c;由于不会抓取或者…

YOLOv8实现任意目录下命令行训练

问题 当你使用YOLOv8命令行训练模型的时候&#xff0c;如果当前执行的目录下没有相关的预训练模型文件&#xff0c;YOLOv8就会自动下载模型权重文件。这个是一个正常操作&#xff0c;但是你还会发现&#xff0c;当你在参数model中指定已有的&#xff0c;在其他目录下的预训练模…