书生.浦江大模型实战训练营——(三)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申请内容,等待审核通过即可。

相关推荐
晓理紫5 小时前
使用git lfs向huggingface提交较大的数据或者权重
git
我不是程序猿儿6 小时前
【GIT】sourceTree的“当前分支“,“合并分支“与“检出分支的区别
git
数据智能老司机10 小时前
LLM工程师手册——监督微调
深度学习·架构·llm
angleboy813 小时前
【LLM Agents体验 1】Dify框架的安装指南
人工智能·语言模型·大模型·nlp
_OLi_13 小时前
IDEA中新建与切换Git分支
java·spring boot·git
AI_小站13 小时前
LLM——10个大型语言模型(LLM)常见面试题以及答案解析
人工智能·程序人生·语言模型·自然语言处理·大模型·llm·大模型面试
GPUStack17 小时前
制作并量化GGUF模型上传到HuggingFace和ModelScope
大模型·huggingface·modelscope·genai·gguf
PyAIGCMaster17 小时前
ubuntu下安装 git 及部署cosyvoice(1)
git
维__kxs766718 小时前
小程序 + AI 自动直播:一部手机开启抖音挂载小程序流量主变现之旅
git·eclipse
waiting不是违停20 小时前
LangChain Ollama实战文献检索助手(二)少样本提示FewShotPromptTemplate示例选择器
langchain·llm·ollama