L0G3-Git 基础知识

news/2025/2/6 23:35:23/文章来源:https://www.cnblogs.com/zhengzirui/p/18701888

L0G3-Git 基础知识

1. 任务一 破冰活动之自我介绍

1.1 配置 git

直接采用全局设置的方式

git config --global user.name "sakuralggm"
git config --global user.email "myemail@qq.com"

查看全局配置

git config --global --list

image-20250205180836971

1.2 fork 项目

image-20250205181024617

1.3 克隆项目到本地

使用 https 的方式 clone

image-20250205181210195

克隆完成后可以看到开发机中已经新增了 Tutorial 目录。

image-20250205181315059

1.4 创建分支

1.4.1 查看分支情况

git branch -a #列出所有分支,包括本地分支和远程分支。

image-20250205183042957

可以看到,此时只有一个本地分支 camp4,它基于远程仓库的默认分支 origin/camp4。其中 remotes/origin/HEAD -> origin/camp4 表示远程仓库 origin 的默认分支是 camp4

1.4.2 创建新分支

git checkout -b class origin/class

命令:

git checkout -b <新分支名> <起始分支>

的作用是:

  1. 创建一个新的本地分支 <新分支名>,并基于 <起始分支>
  2. 切换到新分支
  3. 如果 <起始分支> 是远程分支(如 origin/class),新分支会自动跟踪它。

执行完这条命令之后,Git 发生了什么?

  1. 创建本地分支 class,并基于远程分支 origin/class
  2. HEAD 切换到 class 分支。
  3. 同步 origin/class 的代码到 Tutorial 目录。
  4. 本地 class 分支现在跟踪 origin/class,意味着可以使用 git pull 来获取远程 class 分支的最新更新。

image-20250205183942123

为什么此时 Tutorial 目录下的文件发生了变化?

  • 之前所在的分支是 camp4(默认分支)。
  • camp4class 有不同的提交历史和文件内容。
  • checkoutclass 时,Git 会更新工作目录,使其与 class 分支的内容一致。因为远程仓库的 class 分支的代码和 camp4 分支的代码不一样,所以文件发生了变化。

image-20250205183921602

再执行以下命令,创建一个新分支。

git checkout -b class_7593

这条命令:

  1. 创建本地分支 class_7593,并基于当前分支 class
  2. HEAD 切换到 class_7593
  3. 不会同步远程代码,因为 class_7593 只是 class 的一个本地副本

查看此时的分支情况:

image-20250205184155921

可以看到我们当前所在的是本地的 class_7593 分支。

1.4 创建自己的介绍文件

【大家可以叫我】:sakuralggm【坐标】:海南【专业/职业】:学生【兴趣爱好】:乒乓球【项目技能】:cv、nlp【组队情况】:未组队,快来一起!【本课程学习基础】:CV、NLP、LLM【本期活动目标】:学点东西吧。

注意文件要在 icamp4 下创建。

image-20250205205111485

1.5 提交更改分支

image-20250205205329137

通过 git log 可以看到更改被提交到了本地的 class_7593 分支中。

image-20250205205319513

1.6 推送分支到远程仓库

这里的远程仓库是我在 1.2 中 fork 的仓库。

git push 用于将本地分支的提交推送到远程仓库,使远程仓库保持最新。它的基本语法是:

git push <远程仓库名> <分支名>

其中:

  • <远程仓库名>:通常是 origin,表示远程仓库的名称。
  • <分支名>:要推送的本地分支名称。

推送分支的命令是:

git push origin class_7593
# 三个拓展命令
# 1. git push origin class_7593 --force # 强制覆盖远程 class_7593 分支的历史,可能导致数据丢失。
# 2. git push origin class_7593 --force-with-lease # 只有在远程分支未被他人修改时才会强制推送,避免误覆盖。
# 3. git push -u origin class_7593 # -u(--set-upstream)将 class_7593 设为跟踪 origin/class_7593,以后可以直接执行git push,而不用每次都指定 origin class_7593了。

执行命令之后Git发生了什么?

  1. Git 查找远程仓库 origin(你克隆仓库时默认的远程仓库)。
  2. Git 查找本地分支 class_7593,并尝试将其推送到 origin 远程仓库。
  3. 如果 origin 上还没有 class_7593,Git 会在远程创建 class_7593 分支,并同步本地内容。
  4. 如果 origin 已经存在 class_7593
    • Git 会检查本地 class_7593 是否比远程 class_7593 新。
    • 如果本地比远程新(有新的提交),推送成功。
    • 如果远程比本地新(其他人推送了更新),推送可能会失败,要求先 git pull

执行命令后要求登录github,登录后push成功,截图如下:

image-20250205210310947

1.7 检查提交内容

如图所示,可以看到分支已经被推送到远程仓库。

image-20250205210433285

接下来,将发起pull request,将更改推送到原仓库,请求合并。

点击右上角Compare & pull request。

image-20250205210721788

在“Add a title中”输入 "add git_7593_introduction",base repository选择class分支,head repository选择class_7593分支,点击“Create pull request”。

image-20250205210832025

1.8 PR链接

点击前往对应的pr链接

2. 任务二 构建个人项目

创建的大模型相关仓库地址

后续将在这里发布笔记等。

3. 知识积累

3.1 工作区、暂存区和本地仓库区

  • 工作区(Working Directory): 当我们在本地创建一个 Git 项目,或者从 GitHub 上 clone 代码到本地后,项目所在的这个目录就是“工作区”。这里是我们对项目文件进行编辑和使用的地方。工作区不包括.git 目录。
  • 暂存区(Staging Area): 暂存区是 Git 中独有的一个概念,位于 .git 目录中的一个索引文件,记录了下一次提交时将要存入仓库区的文件列表信息。使用 git add 指令可以将工作区的改动放入暂存区。
  • 仓库区 / 本地仓库(Repository): 在项目目录中,.git 隐藏目录不属于工作区,而是 Git 的版本仓库。这个仓库区包含了所有历史版本的完整信息,是 Git 项目的“本体”。即.git 目录。

工作区、暂存区和本地仓库区

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

L0G4-玩转HF魔搭魔乐社区

L0G4-玩转HF/魔搭/魔乐社区 1. Hugging Face平台 1.1 任务一 模型下载 1.1.1 创建github codespace 访问github codespace,并使用Jupyter Notebook模板。创建完成后,进入“Create frome a template”页面对已经创建的codespace选择“open in visual studio code”点击后会经过…

2024 年度总结:与自己对话

搬运自洛谷博客,原发表时间:2024-12-27(实际写成:12-31)\[\mathsf{那跑过去的昼夜\ \ 是孤独的修炼\qquad——\ 林俊杰《黑夜问白天》} \] 孤独而不孤独.又来到写年度总结的时刻了。这一年无疑比去年更具故事的戏剧性与心境的跌宕起伏了。 被各种事件聚在一起搅和,高一上…

breach1靶机渗透学习

靶机下载 https://www.vulnhub.com/ 找Breach-1.0,不过这个是老靶机了,可以看网上其他博客附带有靶机下载的网盘链接,靶机官网访问很慢而且网站好像出问题了排版很乱,不打也罢。 readme.txt: First in a multi-part series, Breach 1.0 is meant to be beginner to interm…

lxl数据结构讲义例题泛做

搬运自洛谷博客,原发表时间:2022-12-06 网课人在家摆烂太悲伤了,于是做一些数据结构题。 本博客和ds学习笔记的区别:后者收录小清新/有趣题。 目前拥有的讲义:感觉数据结构题评紫的巨大多,良莠不齐。 可能会有非常简单的题加入这里,勿喷。 完成度指数:0%表示一半以上核…

电路板地与外壳地之间接一个电阻和一个电容的作用.

原理 原理图如下:我们知道外壳基本都是金属属性,外壳会预留一个螺丝孔,预留的螺丝孔是为了跟电路板地连接在一起,电路设计如原理图所示,这样做有什么作用呢?作用如下:外壳地如果不稳定或者有静电之类的,如果与电路板地直接连接,就会打坏电路板芯片,加入电容,就能把低…

晶体管

PCB设计中晶体管的学习与应用 在电子电路设计中,晶体管作为一种重要的有源器件,扮演着放大、开关、稳压等多种角色。本文将带您了解晶体管的基础知识,以及如何在PCB设计中正确选择和应用晶体管。 晶体管基础 晶体管主要有两种类型:双极型晶体管(BJT)和场效应晶体管(FET)…

Tailwin CSS 基础下篇

Tailwin CSS 进阶上篇 方便自己查看,仅做摘录,非原创。 原文链接 听说你还不会 Tailwind CSS(基础上篇)Tailwind CSS 的基础使用:从宽度高度开始逐步展现 Tai - 掘金 (juejin.cn) 听说你还不会 Tailwind CSS(基础中篇)Tailwind CSS 的基础使用:包含伪类、伪元素、flex …

ctfshow密码学wp

打hgame打傻了来洗洗脑子( 1、密码学签到2、 jsfuck扔控制台3、 aaencode颜文字4、 ctfrsatoolsfrom Crypto.Util.number import * from gmpy2 import * p=447685307 q=2037 e=17 phi=(p-1)*(q-1) d=inverse(e,phi) print(d) 5、 交intimport gmpy2,libnum f…

异动拉升之量子图形矩阵

一.量子图形矩阵通过异动拉升算法检测出异动拉升的股票之后,需要图形化显示股票分时曲线,帮助观察股票异动之后的走势,量子图形矩阵的功能就是将异动拉升的股票,按照冠绝榜中的排序,从上到下依次展示在图形矩阵中,可以选择4,9,16个窗口,在窗口没有锁住的情况下,新出现…

MySQL主从复制 —— 作用、原理、数据一致性,异步复制、半同步复制、组复制

MySQL主从复制 作用、原理—主库线程、I/O线程、SQL线程;主从同步要求,主从延迟原因及解决方案;数据一致性,异步复制、半同步复制、组复制文章目录 一、作用 二、原理 三、同步数据一致性3.1 主从同步要求3.2 主从延迟原因、直接表现3.3 减少主从延迟的方案3.4 数据一致性…

2024人工智能AI+制造业应用落地研究报告汇总PDF洞察(附原数据表)

原文链接: https://tecdat.cn/?p=39068 本报告合集洞察深入剖析当前技术应用的现状,关键技术 创新方向,以及行业应用的具体情况,通过制造业具体场景的典型 案例揭示人工智能如何助力制造业研发设计、生产制造、运营管理 和产品服务的全流程智能化升级。在此基础上对制造业…

中国综合算力指数(2024年)报告汇总PDF洞察(附原数据表)

原文链接: https://tecdat.cn/?p=39061 在全球算力因数字化技术发展而竞争加剧,我国积极推进算力发展并将综合算力作为数字经济核心驱动力的背景下,该报告对我国综合算力进行研究。 中国算力大会发布的《中国综合算力指数(2024年)报告》显示,我国算力结构调整,智算规模…