【Linux系统】Git 入门指南:如何高效管理你的代码库

【Linux系统】Git 入门指南:如何高效管理你的代码库

文章目录

Git 的介绍

Git 是一个分布式版本控制系统,用于跟踪文件的变化并支持团队协作开发。最初由 Linus TorvaldsLinux 操作系统的创始人)开发,Git 在开发者中变得非常流行,尤其是因为其高效、灵活和能够支持分布式开发的特点。

主要特点和概念

  1. 分布式版本控制
    • 分布式:每个使用 Git 的开发者都拥有完整的代码库副本,并且可以在本地进行操作,不需要依赖中央服务器。这使得 Git相比于集中式版本控制系统(如 SVN)更具有灵活性和抗故障能力。
    • 本地提交:开发者可以在本地进行提交和版本管理,而无需立即与远程仓库同步。可以在网络连接不稳定的情况下继续工作,等到合适的时机再推送更改。
  2. 版本历史和快照
    • Git 会记录每次提交的快照,而不是像其他版本控制系统那样记录差异(差异文件)。每个提交实际上都是代码库状态的完整快照。这样,不仅能恢复历史版本,还能快速了解代码库的变化。
    • 提交(commit)时,Git 会为每次提交生成一个唯一的哈希值(SHA-1),这使得每个提交都可以通过哈希值唯一标识。
  3. 分支与合并(Branching and Merging)
    • Git 的分支管理非常灵活且轻量级。开发者可以在分支上独立工作,然后将分支合并到主分支(通常是 mainmaster)。
    • 分支的创建和切换几乎没有成本,允许开发者同时处理多个功能、修复或者实验性工作,而不干扰主线开发。
    • 合并(merge)允许将不同分支的更改整合到一起,Git 会尽可能智能地自动处理冲突,如果有冲突,开发者需要手动解决。
  4. 工作区、暂存区与版本库
    • 工作区Working Directory):是开发者正在进行编码的地方,包含所有的文件和代码。
    • 暂存区Staging Area):是一个中间区域,允许开发者选择性地将更改“暂存”起来,准备提交。可以理解为一个待提交的文件集合。
    • 版本库Repository):是 Git 存储代码版本历史的地方。每当你执行提交时,Git 会将当前的代码快照保存到版本库中。
  5. 远程仓库(Remote Repositories
    • Git 支持远程仓库,允许多人协作开发。开发者可以将本地仓库的更改推送(push)到远程仓库,也可以从远程仓库拉取(pull)最新的更改。
    • 常见的 Git 托管平台有 GitHubGitLabBitbucket 等,它们提供了托管 Git 仓库的服务,方便团队进行协作。

安装 Git

Linux (Ubuntu)系统中,使用以下命令来安装 Git

sudoapt update sudoaptinstallgit

使用 git --version来查看是否安装成功:

创建仓库

我们以 gitee 做演示如何创建远端仓库,github 也是同样的道理。

在终端上执行 clone 指令,然后输入你 gitee 的账号和账号密码。需要注意的是,你只能将远端仓库 clone 到空目录,一个目录下只能有1个本地仓库。

在这里插入图片描述


在这里插入图片描述

在你的个人主页找到新建仓库

在这里插入图片描述


对你要新建的仓库做各种设置

在这里插入图片描述


在你的新建的仓库界面找到 clone 到本地的终端指令

在这里插入图片描述


在这里插入图片描述

补充:我们进到到 test 目录里,使用 ls -al 指令,如下图:

在这里插入图片描述
  • 仓库目录其实是工作区,并不是真正的本地仓库,也就是说你在仓库目录写的代码需要手动上传到本地仓库中。
  • .git 这个隐藏目录才是真正的本地仓库

Git 三板斧

add

gitadd filename 
  • 将当前目录下的文件上传到暂存区里。

暂存区存在的意义:当你需要多次提交时候,你就可以将多次提交的文件存放在暂存区,最后一次性上传到本地仓库。

commit

git commit -m"message"
  • 将暂存区的所有文件上传到你的本地仓库里。
  • -m 代表这次修改的相关信息,保存在日志信息里。
在这里插入图片描述

使用 git status 来查看当前相关文件的状态

在这里插入图片描述


使用 git log 来查看日志信息

在这里插入图片描述

注意:当你第一次执行该指令时会报错提醒需要配置用户信息,执行以下指令即可。

git config --global user.name "your name"git config --global user.email "[email protected]"

push

git push 
  • 将你本地仓库的代码和文件推送到远端仓库(该过程要输入你 gitee 的账号与账号密码)
在这里插入图片描述


推送到远端仓库后,我们就可以在 gitee 上查看了。

在这里插入图片描述

冲突问题

如果远端仓库与本地仓库不一致的话,我们是直接 commit 是会报错的,需要同步两个仓库的信息才可以。

在这里插入图片描述


我们只需要将远端仓库拉取到本地就可以完成同步。

git pull 

常用 Git 指令

  • git init:初始化一个新的 Git 仓库。
  • git clone:从远程仓库克隆一个本地副本。
  • git status:查看当前工作区的状态(哪些文件被修改了,哪些文件已经暂存等)。
  • git add:将文件添加到暂存区,为提交做准备。
  • git commit:提交暂存区的更改,保存到本地仓库。
  • git push:将本地的更改推送到远程仓库。
  • git pull:从远程仓库拉取并合并最新的更改。
  • git merge:将一个分支的更改合并到当前分支。
  • git branch:列出、创建或删除分支。
  • git log:查看提交历史。

Have a good day😏

See you next time, guys!😁✨🎞

请添加图片描述

Read more

Dify(Agent + RAG)指南:从安装到实战的开源 LLM 应用开发平台

Dify 完全指南:从安装到实战的开源 LLM 应用开发平台 摘要:本文详细介绍开源 LLM 应用开发平台 Dify 的完整使用流程,包括本地部署、API 配置、工作流编排、知识库管理,以及跨境电商客服和 Text2SQL 两个实战案例。 目录 1. Dify 简介 2. 本地部署指南 3. API 配置与集成 4. 自定义工具开发 5. 工作流类型详解 6. 知识库管理 7. 实战案例:跨境电商客服 8. 实战案例:Text2SQL 数据库查询 9. 网页集成方案 10. 总结与建议 1. Dify 简介 1.1

By Ne0inhk
Logseq+cpolar:让开源笔记效率翻倍

Logseq+cpolar:让开源笔记效率翻倍

文章目录 * 前言 * **核心价值对比传统方案** * **cpolar赋能远程访问** * 1. 安装Docker * 2. 简单使用演示 * 3. 安装cpolar内网穿透 * 4. 配置公网地址 * 5. 配置固定公网地址 * 当开源软件遇上内网穿透技术,Logseq+CPolar的组合正在重构知识管理的边界。或许真正的生产力革命,始于把数据主权握在自己手中。 前言 还在为商业笔记软件的订阅费用、数据隐私条款或功能限制感到困扰吗?或许你该试试用 Logseq(GitHub 3.3万星)搭配 cpolar内网穿透工具,打造一个完全自主可控的知识管理生态系统。 核心价值对比传统方案 Logseq特性商业软件痛点解决开源无隐藏数据收集避免用户行为被分析利用Markdown+Org-Mode双引擎兼容程序员与学术研究双重需求原生支持PDF批注解决专业文档管理的碎片化问题 cpolar赋能远程访问 这对组合带来以下突破: * 私有化数据存储:将笔记文件存放在本地NAS/旧PC,通过Logseq桌面端运行,再用CPolar生成

By Ne0inhk
使用vscode配合git实现代码仓库回滚

使用vscode配合git实现代码仓库回滚

文章目录 * 1. 找到你要回退节点的哈希值 * 1.1. 使用 git log 命令 * 1.2. 也可以使用vscode编辑器的源码管理工具 * 2. 重置到指定提交 * 3. 强制推送到远程仓库(如果需要) 1. 找到你要回退节点的哈希值 首先,你需要找到你要回退到的那个提交的哈希值(commit hash)。 1.1. 使用 git log 命令 使用 git log 命令来查看提交历史。 1.2. 也可以使用vscode编辑器的源码管理工具 选中此节点,右键选择复制提交ID 2. 重置到指定提交 使用git reset命令来重置你的工作目录和索引到指定的提交。假设你要回退到的提交的哈希值是 abc1234,你可以使用以下命令: git reset --hard abc1234 * --hard

By Ne0inhk
开源力量:GitCode+昇腾NPU 部署Mistral-7B-Instruct-v0.2模型的技术探索与经验总结

开源力量:GitCode+昇腾NPU 部署Mistral-7B-Instruct-v0.2模型的技术探索与经验总结

开源力量:GitCode+昇腾NPU 部署Mistral-7B-Instruct-v0.2模型的技术探索与经验总结 目录 开源力量:GitCode+昇腾NPU 部署Mistral-7B-Instruct-v0.2模型的技术探索与经验总结 摘要 一、技术背景 1.1 昇腾NPU 1.2 GitCode平台 1.3 vLLM Ascend 二、环境准备 2.1 创建GitCode Notebook 2.2 配置Hugging Face镜像 三、部署方案一:原生部署(transformers + torch_npu) 3.1 安装依赖 3.2 下载模型 3.3 推理代码 3.

By Ne0inhk