首页 > 其他分享 >Git 入门指南:如何高效管理你的代码库

Git 入门指南:如何高效管理你的代码库

时间:2024-12-25 22:31:34浏览次数:5  
标签:指南 Git 入门 仓库 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

sudo apt update
sudo apt install git

使用 git --version来查看是否安装成功:
在这里插入图片描述

创建仓库

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

  1. 在你的个人主页找到新建仓库
    在这里插入图片描述
    对你要新建的仓库做各种设置
    在这里插入图片描述
    在你的新建的仓库界面找到 clone 到本地的终端指令
    在这里插入图片描述
    在这里插入图片描述

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

补充:我们进到到 test 目录里,使用 ls -al 指令,如下图:
在这里插入图片描述

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

Git 三板斧

add

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

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

commit

git commit -m "message"
  • 将暂存区的所有文件上传到你的本地仓库里。

  • -m 代表这次修改的相关信息,保存在日志信息里。

在这里插入图片描述

使用 git status 来查看当前相关文件的状态
在这里插入图片描述
使用 git log 来查看日志信息
在这里插入图片描述

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

git config --global user.name "your name"
git config --global user.email "you@example.com"

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

标签:指南,Git,入门,仓库,git,提交,开发者,本地
From: https://blog.csdn.net/2301_80373479/article/details/144294879

相关文章

  • 一起学Git【第六节:查看版本差异】
    gitdiff是Git版本控制系统中用于展示差异的强大工具。他可以用于查看文件在工作区、暂存区和版本库之间的差异、任意两个指定版本之间的差异和两个分支之间的差异等,接下来进行详细的介绍。1.显示工作区与暂存区之间的差异#显示工作区和暂存区之间的差异,后面不加参数git......
  • AE2024零基础入门
    【AE教程】从零开始学剪辑(新手入门AE2024实用版)AE2024零基础入门教程!!!https://www.bilibili.com/video/BV1iH4y1E7Vy 3 6【AE2024基础课】课程大钢【AE2024基础课】1.界面布局【AE2024基础课】2.首选项设置【AE2024基础课】3.导入素材【AE2024基础课】4.新建合成·课程知......
  • Python数据分析_Pandas_数据分析入门_3
    文章目录今日内容大纲介绍1.DataFrame-保存数据到文件2.DataFrame-读取文件数据3.DataFrame-数据分析入门4.DataFrame-分组聚合计算5.Pandas-基本绘图6.Pandas-常用排序方法7.Pandas案例-链家数据分析7.Pandas案例-链家数据分析_GIF_demo了解数据df1.info()df1.describ......
  • Qwen2大模型微调入门实战(附完整代码)超详细讲解
    Qwen2(https://modelscope.cn/models/qwen/Qwen2-1.5B-Instruct/summary)是通义千问团队最近开源的大语言模型,由阿里云通义实验室研发。以Qwen2作为基座大模型,通过指令微调的方式做高精度文本分类,是学习LLM微调的入门任务。在本文中,我们会使用Qwen2-1.5b-Instruct(https......
  • 避坑指南:可能会导致.NET内存泄露的8种行为
    任何有经验的.NET开发人员都知道,即使.NET应用程序具有垃圾回收器,内存泄漏始终会发生。并不是说垃圾回收器有bug,而是我们有多种方法可以(轻松地)导致托管语言的内存泄漏。内存泄漏是一个偷偷摸摸的坏家伙。很长时间以来,它们很容易被忽视,而它们也会慢慢破坏应用程序。随着内存泄漏,你......
  • 莫队从入门到人门
    普通莫队详介(P2709小B的询问)普通莫队处理问题的前提是问题可以离线,多次区间查询,\(O(n\sqrtm)\)能过。我们以P2709小B的询问为例,假设当前区间为\([l,r]\),答案为\(ans\),那么\(r\)右移一位时,新加入一个数\(x\),我们只要把\(ans\)加上\(x\)的贡献即可。贡献只需要维......
  • GCC安装入门教程(非常详细)从零基础入门到精通,看完这一篇就够了
    1.下载GCC安装包,下载地址如下,选择需要的安装版本:https://mirrors.tuna.tsinghua.edu.cn/gnu/gcc/2.解压配置进入解压目录执行:./configure可能会遇到下面的问题:configure:error:BuildingGCCrequiresGMP4.2+,MPFR2.4.0+andMPC0.8.0+.Trythe--with-gmp,--w......
  • Notepad ++ 安装与配置教程(非常详细)从零基础入门到精通,看完这一篇就够了
    Notepad++获取与安装——————————Notepad++是什么在运行中输入notepad会弹出来记事本:所以Notepad++就是增强的记事本!这个跟C与C++的名字是一样滴!Notepad++是开源软件GPL许可证可以免费使用自带中文支持很多计算机编程......
  • Jenkins入门使用
    Jenkins入门使用1先安装jdk才能运行jenkinsyuminstall-yjava-1.8.0-openjdk.x86_642安装jenkins,运行,进行端口绑定,启动jenkinsdockersearchjenkinsdockerpulljenkins/jenkinsdockerrun-d-uroot-p8080:8080-p50000:50000-v/var/jenkins_home:/var/jenkin......
  • 写给小白的大模型应用指南:AI Agent 智能体篇
    RAG(检索增强生成)和Agent(智能体)在大模型应用领域无疑是备受推崇和寄予厚望的两大主流形态。本文使用浅显易懂的语言,帮助您迅速了解AIAgent智能体。尽管许多人是在大模型流行之后才开始了解AIAgent智能体,但这一概念并非全新(RAG同样如此)。AIAgent智能体之所以受到......