书生.浦江大模型实战训练营——(三)Git基本操作与分支管理

最近在学习书生.浦江大模型实战训练营,所有课程都免费,以关卡的形式学习,也比较有意思,提供免费的算力实战,真的很不错(无广 )!欢迎大家一起学习,打开LLM探索大门:邀请连接,PS,邀请有算力哈哈。

文章目录

一、git介绍与基本操作

Git 是一种开源的分布式版本控制系统,广泛应用于软件开发领域,尤其是在协同工作环境中。它为程序员提供了一套必备的工具,使得团队成员能够有效地管理和跟踪代码的历史变更。Git 由 Linus Torvalds 于2005年创建,Git 主要用于软件开发,但也适用于任何需要版本控制的文件管理。

Git 的主要特点

  1. 分布式版本控制:每个开发者的工作站都保留了完整的代码库和历史记录,这意味着即使没有网络连接也可以执行大多数操作。

  2. 高效性:Git 在处理大型项目时性能优越,操作速度快,因为许多操作都是在本地进行的。

  3. 数据完整性:Git 使用 SHA-1 哈希算法来确保数据的一致性,每一个提交都会获得唯一的哈希值,便于追踪和管理。

  4. 支持分支和合并:Git 提供了强大的分支管理功能,允许用户轻松地创建、删除和合并分支,使得并行开发、功能实验和版本发布更加高效。

  5. 灵活的工作流程:Git 支持多种工作流程,包括集中式工作流程、功能分支工作流程、Git Flow 和 GitHub Flow 等,可以根据团队的需求进行选择。

Git 的基本命令

  • git init:初始化一个新的 Git 仓库。
  • git clone [repo]:克隆远程仓库到本地。
  • git add [file]:将文件添加到暂存区。
  • git commit -m "message":提交更改到本地仓库,并附上提交信息。
  • git status:查看工作区和暂存区的状态。
  • git push:将本地提交推送到远程仓库。
  • git pull:从远程仓库获取最新的提交并合并到本地。
  • git branch:列出所有分支,当前分支会有星号标记。
  • git checkout [branch]:切换到指定分支。
  • git merge [branch]:将指定分支合并到当前分支。

git的基本概念

工作区、暂存区和 Git 仓库区

工作区(Working Directory): 当我们在本地创建一个 Git 项目,或者从 GitHub 上 clone 代码到本地后,项目所在的这个目录就是"工作区"。这里是我们对项目文件进行编辑和使用的地方。

暂存区(Staging Area): 暂存区是 Git 中独有的一个概念,位于 .git 目录中的一个索引文件,记录了下一次提交时将要存入仓库区的文件列表信息。使用 git add 指令可以将工作区的改动放入暂存区。

仓库区 / 本地仓库(Repository): 在项目目录中,.git 隐藏目录不属于工作区,而是 Git 的版本仓库。这个仓库区包含了所有历史版本的完整信息,是 Git 项目的"本体"。

二、git分支管理

项目地址为:

python 复制代码
https://github.com/InternLM/Tutorial

点击code,复制下面的git地址,在本地打开bash,没有安装的安装一下即可,win安装地址。

**首先将项目fork到自己的仓库,要不之后push没有权限!**这个地方搞了好久,一直报403的错误,后面才知道。

依次输入:

python 复制代码
git clone https://github.com/lzypython/Tutorial.git
cd Tutorial/
git branch -a
git checkout -b camp3 origin/camp3

github进行git cloneCSDN也有很多教程,这里就不再进行赘述,如果有clone到一半clone不下来的情况,多clone几次即可。git branch -a是这个命令列出所有的本地和远程分支。通过查看分支,用户可以确定当前仓库中有哪些分支可用。git checkout -b camp3 origin/camp3这个命令的作用是在本地新建一个名为 camp3 的分支,并且切换到这个分支上。origin/camp3 指的是远程仓库的 camp3 分支。

创建一个新分支

python 复制代码
git checkout -b camp3_3181 # 自定义一个新的分支

创建自己的md文件

python 复制代码
touch ./data/Git/task/camp3_3181.md # 修改为自己的问卷ID

整个操作如下所示

在vscode也可以看到创建出来的新的3181文件,下面在本地将自己的信息填上

python 复制代码
【大家可以叫我】: 爱睡觉的咋
【坐标】:天津
【专业/职业】:人工智能
【兴趣爱好】: 读书
【项目技能】:CV、LLM、RAG
【组队情况】:未组队,快来一起!
【本课程学习基础】:CV、NLP、LLM
【本期活动目标】:闯关,系统学习LLM相关知识,拿证书!

最后提交自己的分支即可,依次输入如下指令:

python 复制代码
git add .
git commit -m "add git_3181_introduction" # 提交信息记录
git push origin camp3_3181

在git界面可以看到上传成功

打开3181branch,发现3181.md也正常上传上去,此时只要再申请合并即可

可以看到自己的merge申请内容,等待审核通过即可。

相关推荐
小小小米粒9 小时前
重置本地git
大数据·git·elasticsearch
欣欣之王来了13 小时前
2024主流国产大模型深度对比:文心一言/通义千问/智谱AI/Qwen等选型指南
人工智能·ai·大模型
小草cys14 小时前
对比一下hunyuanvideo,wan2.2, minimax h3的性能
大模型·多模态·视频生成
我不会起名字32214 小时前
RAG 召回不准到底该改哪一环?切片、检索器、重排的 25 题实测与 6 步排查表
大模型·向量检索·切片·rag·召回率
goehou15 小时前
AI 应用上线实战:从本地脚本到 Docker 容器化(密钥、健康检查、镜像瘦身)
docker·ai·llm·部署·教程·容器化
CopyCode16 小时前
Agent 开发不是模型训练:一个前端的入门认知
前端·llm·agent
鶴哥只手遮天16 小时前
第 8 章 工作区与检出:unpack-trees 与并行 checkout
git
流浪00116 小时前
大模型技术全景(十八):RAG 检索增强生成与知识时效性问题
llm·大语言模型·rag
xcLeigh17 小时前
本体驱动的AI大模型:方法与实践
人工智能·ai·大模型·agent·提示词·语义建模
桃西西呀17 小时前
Spring AI Alibaba 之四:拆开 ReactAgent 的图,看 ReAct 循环怎么拼出来
人工智能·spring·llm