GIT-基础

Git GUI:Git提供的图形界面工具

Git Bash:Git提供的命令行工具

设置用户信息

git config --global user.name "名字" git config --global user.email "邮箱" ##注意name和email后面有一个空格

查看配置信息

git config --global user.name git config --global user.email 
基础操作指令

git工作目录下对于文件的修改(增加删除更新)会存在几个状态,这些修改的状态会随着我们执行git的命令而发生变化。

1.查看修改的状态(status)

作用:查看修改的状态(暂存区、工作区)

命令形式:git status

2.添加到工作区到暂存区(add)

作用:添加工作区一个或多个文件的修改到暂存区

命令形式:git add 单个文件名/通配符

⚪注:通配符

*匹配任意字符(0个或多个)
匹配一个字符
[ ]

3.提交暂存区到本地仓库(commit)

作用:添加工作区一个或多个文件的修改到暂存区

命令形式:git commit -m '注释内容'

4.查看提交日志(log)

作用:查看提交记录

命令形式:git log options

    

options功能
--all显示所有分支
--pretty=oneline将提交信息显示为一行
--abbrev-commit使得输出的commitld更简短
--graph以图的形式显示

5.版本回退

作用:版本切换

命令形式:git reset --hard commitID

        ⚪commitID可以使用git-log或git log指令查看

如何查看已经删除的记录?

⚪git reflog

⚪这个指令可以看到已经删除的提交记录

添加文件至忽略列表

一般我们总会有些文件无需纳入git的管理,也不希望它们总出现在未跟踪文件列表。通常都是些自动生成的文件,比如日志文件,或者编译过程中创建的临时文件等。在这种情况下,我们可以在工作目录中创建一个名为.gitignore的文件(文件名称固定),列出要忽略的文件模式。


分支

几乎所有的版本控制系统都以某种形式支持分支。使用分支意味着你可以把你的工作从开发主线上分离开来进行重大的bug修改、开发新的功能,以免影响开发主线。

查看本地分支

命令:git branch

创建本地分支

命令:git branch 分支名

切换分支(checkout)

命令:git checkout 分支名

我们还可以直接切换到一个不存在的分支(创建并切换)

命令:git checkout -b 分支名

合并分支

一个分支上的提交可以合并到另一个分支

命令:git merge 分支名称

删除分支

不能删除当前分支,只能删除其他分支

git branch -d b1 删除b1分支时,需要做各种检查

git branch -D b1 不做任何检查,强制删除b1分支

解决冲突

当两个分支上对文件的修改可能会存在冲突,例如同时修改了同一个文件的同一行,这时就需要手动解决冲突,解决冲突步骤如下:

1.处理文件中冲突的地方

2.将解决完冲突的文件加入暂存区(add)

3.提交到仓库(commit)

开发中分支使用原则与流程

几乎所有的版本控制系统都以某种形式支持分支。使用分支意味着你可以把你的工作从开发主线上分离开来进行重大的bug修改,开发新的功能,以免影响开发主线。

在开发中,一般有如下分支使用原则与流程:

1.master(生产)分支

线上分支,主分支,中小规模项目作为线上运行的应用对应的分支

2.develop(开发)分支

是从master创建的分支,一般作为开发部门的主要开发分支,如果没有其他并行开发不同期上线要求,都可以在此版本进行开发,阶段开发完成之后,需要是合并到master分支,准备上线

3.featurn/xxx分支

从develop创建的分支,一般是同期并行开发,但不同期上线时创建的分支,分支上的研发任务完成后合并到develop分支

4.hotfix/xxx分支

从master派生的分支,一般作为线上bug修复使用,修复完成后需要合并到master,test,develop分支


远程仓库

添加远程仓库

此操作是先初始化本地库,然后与已创建的远程库进行对接

命令: git remote add <远端名称> <仓库路径>

⚪远端名称,默认是origin,取决于远端服务器设置

⚪仓库路径,从远端服务器获取此URL

查看远程仓库

命令:git remote

推送到远程仓库

命令:git push [-f] [--set-upstream] [远端名称[本地分支名][:远端分支名] ]

⚪如果远程分支名和本地分支名称相同,则可以只写本地分支

    如:git push origin master

⚪--set-upstream推送到远端的同时并且建立起和远端分支的关联关系

    git push --set-upstream origin master

⚪如果当前分支已经和远端分支关联,则可以省略分支名和远端名

    git push 将master分支推送到已关联的远端分支

⚪-f强制覆盖

本地分支与远程分支的关联关系

命令:git branch -vv

从远程仓库克隆

如果已经有一个远端仓库,我们可以直接clone到本地

命令:git clone <仓库路径> [本地目录]

         本地目录可以省略,会自动生成一个目录

从远程仓库中抓取和拉取

远程分支和本地的分支一样,我们可以进行merge操作,只是需要先把远端仓库里的更新都下载到本地,再进行操作。

⚪抓取 命令:git fetch [remote name] [branch name]

    抓取指令就是将仓库里的更新都抓取到本地,不会进行合并

    如果不指定远端名称和分支名,则抓取所有分支

⚪拉取 命令:git pull [remote name] [branch name]

    拉取指令就是将远端仓库的修改拉到本地并自动进行合并,等同于fetch+merge

    如果不指定远端名称和分支名,则抓取所有并更新当前分支

解决合并冲突

在一段时间,A,B用户修改了同一个文件,且修改了同一行位置的代码,此时会发生合并冲突。

A用户在本地修改代码后优先推送到远程仓库,此时B用户在本地修订代码,提交到本地仓库后,也需要推送到远程仓库,此时B用户晚于A用户,故需要先拉取远程仓库的提交,经过合并后才能推送到远端分支。

在B用户拉取代码时,因为A,B用户同一段时间修改了同一个文件的相同位置代码,故会发生合并冲突。

远程分支也是分支,所以合并时冲突的解决方式也和解决本地分支冲突相同。

Read more

Amazon SageMaker 部署 AIGC 应用:训练 - 优化 - 部署 - Web 前端集成应用实践

Amazon SageMaker 部署 AIGC 应用:训练 - 优化 - 部署 - Web 前端集成应用实践

Amazon SageMaker 部署 AIGC 应用:训练 - 优化 - 部署 - Web 前端集成应用实践 背景 Amazon SageMaker 汇集广泛采用的亚马逊云科技机器学习和分析功能,统一访问所有数据,为分析和人工智能提供一体式体验,使用亚马逊云科技机工具进行模型开发、生成式人工智能、数据处理和 SQL 分析,在融通式合作开发工作室中加快协作和构建,借助强大的生成式人工智能软件开发助手 Amazon Q 开发者版提升效率,无论数据存储在数据湖、数据仓库,还是第三方或联合数据来源中,均可访问所有数据,同时内置治理功能可满足企业安全需求。 前言 本文将通过 Amazon SageMaker Notebook 实例完成 AIGC 模型的测试与验证,再将模型部署至 Amazon SageMaker Inference Endpoint 实现服务化,最后利用 Amazon

LLaMA Factory训练可视化管理:Loss曲线解析与性能优化

作者:吴业亮 博客:wuyeliang.blog.ZEEKLOG.net 在日常的大模型微调工作中,你是否经常遇到这些困扰:训练过程像个黑盒子,不知道模型到底学到了什么;损失曲线突然异常,却找不到问题根源;多轮实验参数混乱,无法有效对比效果? 今天我们就来全面介绍LLaMA Factory这一强大的大模型微调框架,重点讲解如何在Ubuntu 22.04系统上使用四种可视化工具监控训练过程,让你的模型训练透明可控、调优有据。 一、LLaMA Factory训练监控体系概览 LLaMA Factory通过模块化设计实现了全面的指标监控功能,主要覆盖训练稳定性、模型性能和资源利用三大维度。系统默认在src/llamafactory/train/sft/metric.py中实现基础评估逻辑,同时支持通过配置文件扩展自定义指标。 核心监控指标包括: * 训练稳定性:损失值、梯度范数、学习率变化 * 模型性能:准确率、困惑度、ROUGE分数 * 文本质量:生成内容的流畅性和相关性 * 资源利用:GPU内存占用、训练速度

whisper.cpp - 高性能Whisper语音识别推理

文章目录 * 一、关于 whisper.cpp * 1、项目概览 * 2、相关链接资源 * 3、功能特性 * 二、安装配置 * 三、使用示例 * 1、基础转录 * 2、实时音频处理 * 3、量化模型使用 * 四、高级功能 * 1、Core ML加速(Mac) * 2、OpenVINO加速 * 3、NVIDIA CUDA加速 * 五、性能参考 * 六、扩展支持 * 1、Docker使用 * 2、语言绑定 * 七、注意事项 一、关于 whisper.cpp 1、项目概览 whisper.cpp

Claude Code 的完美平替:OpenCode + GitHub Copilot(顶级模型+最优价格)

引言:Claude 虽好,但你真的能用上吗? 在当前席卷全球的“Vibe Coding”浪潮中,Anthropic 推出的 Claude 系列模型 + 终端工具 Claude Code,凭借极强的逻辑推理能力,成为了开发者眼中的“白月光”。但现实是残酷的:对于中国开发者而言,账号随时被封、海外信用卡支付遭拒、API 额度受限以及复杂的网络环境,构成了一道难以逾越的门槛。 虽然最近国产编程模型不断发力,Claude Code + GLM-4.7 的表现非常出色,但面对复杂问题,Claude系列模型依然完胜。难道我们只能眼馋Claude全家桶的编程体验吗? 作为一名追求极致生产力的开发者,我发现了一个绝佳的完美替代方案:OpenCode + GitHub Copilot。这个组合不仅能让你享受如 GLM-4.7 一样的性价比,还能更方便的使用 Claude 的顶级模型。 Claude Code 的开源平替:OpenCode