十分钟学会Git

devtools/2025/3/18 17:17:41/
Git 和SVN 的区别:
  • 架构模式:
    Git分布式版本控制系统,每个开发者的本地仓库都包含完整的历史记录,可以离线操作;而 SVN集中式版本控制系统,所有版本数据集中存放在中央服务器上,操作大多依赖网络。

  • 分支与合并:
    Git 的分支非常轻量,创建、切换和合并速度快,便于多人并行开发;而 SVN 的分支基于目录复制,操作相对繁琐,合并时容易出现冲突。

  • 性能与速度:
    Git 大部分操作在本地完成,响应速度快;SVN 每次操作都需与中央服务器交互,因此速度较慢,受网络影响大。

  • 数据完整性与安全性:
    Git 采用 SHA-1 哈希算法确保数据完整性,并且每个本地仓库都是完整备份,降低了单点故障风险;SVN 的数据集中存储,一旦中央服务器出问题,可能会影响整个代码库。

  • 工作流程与协作方式:
    Git 支持离线提交、灵活分支和便捷合并,非常适合分布式、多团队协作;而 SVN 则需要实时联网提交,权限管理较严格,适用于对文件控制要求较高的环境。

基本Linux 命令
# 切换目录
cd /path/to/directory# 返回上一级目录
cd ..# 显示当前工作目录
pwd# 列出当前目录内容 (ll 通常是 ls -l 的别名)
ls
ll# 新建一个文件或更新文件修改时间
touch index.js# 删除一个文件
rm index.js# 新建一个目录
mkdir myFolder# 递归删除目录及其内容
rm -r myFolder# 移动(或重命名)文件/目录
#   - 将 index.html 移动到 src 目录
mv index.html src
#   - 重命名文件
mv oldName.txt newName.txt# 1重置终端(清屏并重新初始化)
reset# 清屏(保留历史记录)
clear# 查看命令历史记录
history
Git命令

commit : 提交到本地仓库.
push : 推送到远程仓库.
pull : 拉取,将远程仓库文件和版本信息下载到本地仓库.

git add <filename>  #将文件加入暂存区
git add . #将所有文件添加到暂存区git commit -m "提交说明" #将暂存区的文件提交到版本库,并指定消息git push #推送到远程仓库git init #本地初始化.git文件git clone [远程仓库url] #将远程仓库克隆到本地git reset #将暂存区的文件取消暂存或者是切换到指定版本git remote #查看远程仓库git remote add #添加远程仓库git pull #从远程仓库拉取文件git log #查看提交历史git status #查看所有文件状态
git status [filename] #查看指定文件状态
几个重要目录

版本库: 就是.git隐藏文件夹,里面存储了配置信息、日志信息,文件版本信息等

工作区(工作目录): 包含.git文件夹的目录,用于存放开发的代码.

暂存区:就是.git文件夹中的index文件,也叫stage。用于临时保存修改文件.

版本库使用git push命令提交到远程仓库

工作区中文件的两种状态:

  • untracked 未跟踪(未被纳入版本控制)

  • tracked 已跟踪(被纳入版本控制)
    Unmodified 未修改
    Modified 已修改
    Staged 已暂存

  • git add → 和Git 无关

  • git add 了但未 commit → 在暂存区

  • git commit 了 → 被 Git 真正管理并记录历史

分支操作
git branch #查看分支
git branch -r #列出所有远程分支
git branch -a #列出所有本地分支和远程分支git branch [name] #创建分支git checkout [name] #切换分支git push [shortName] [name] #推送至远程仓库分支git merge [name] #合并分支
标签操作
git tag #列出已有标签git tag [name] #创建标签git push [shortName] [name] #将标签推送至远程仓库git checkout -b [branch][name] #检出标签

http://www.ppmy.cn/devtools/168110.html

相关文章

MyBatis SqlSession 是如何创建的? 它与 SqlSessionFactory 有什么关系?

SqlSession 是 MyBatis 中与数据库交互的核心接口&#xff0c;它提供了执行 SQL 语句、管理事务、获取 Mapper 接口代理对象等关键功能。 SqlSession 实例 不是直接通过 new 关键字创建的&#xff0c;而是通过 SqlSessionFactory 工厂来创建的。 SqlSessionFactory 负责创建 Sq…

从零开始写C++3D游戏引擎(开发环境VS2022+OpenGL)之十一 从打光到材质 细嚼慢咽逐条读代码系列

写在篇前的话 作为一个曾经在代码堆里面苦苦挣扎的萌新,困惑的事情在于库,各种依赖,包换文件,链接库,纠结于代码的作用意义。尤其在3D引擎开发的问题上,很多人都被各种困难给阻拦,放弃了在3D渲染,3D游戏引擎上大涨鸿图的机会。 当然关于3D游戏引擎的教程已经汗牛充栋…

机器学习中说的正向传递和反向传递是什么意思

在机器学习&#xff0c;尤其是深度学习领域&#xff0c;​正向传递&#xff08;Forward Pass&#xff09;​和反向传递&#xff08;Backward Pass&#xff09;​是神经网络训练过程中的两个核心步骤。它们共同构成了训练神经网络的基础框架&#xff0c;通常与梯度下降算法结合使…

数学建模历程之初见

第一次接触数学建模是在上大学前&#xff0c;当时只是听过。起源于我在大学的老乡群里聊天&#xff0c;由于当时年轻有点傻&#xff0c;说的话太多了&#xff0c;什么都问哈哈哈哈哈。 后来有个学长从老乡群里加我&#xff0c;问我怎么话那么多&#xff0c;你们懂当时对我幼小…

大数据学习拓展——Minio安装与使用

本文参考&#xff1a;如何在ubuntu上搭建minio_ubuntu minio-CSDN博客文章浏览阅读2.9k次。本文主要介绍了在ubuntu服务器下部署minio的过程&#xff0c;以及如何通过客户端进行简单操作。_ubuntu miniohttps://blog.csdn.net/bDreamer/article/details/130161669 MinIO是一个…

单元测试、注解

目录 一、单元测试1.快速入门2.Junit在实际开发中的用法 二、注解1.注解概述2.自定义注解3.元注解4.解析注解 一、单元测试 单元测试就是针对最小的功能单元编写测试代码&#xff0c;Java程序最小的功能单元是方法。因此&#xff0c;单元测试就是针对Java方法的测试&#xff0…

【工具】huggingface 模型下载过程

前述 记录下自己下载模型的几种方式 方式 1、网页直接浏览器下载&#xff1a; 简单&#xff0c;但是随时可能断 2、git lfs # 拉代码 GIT_LFS_SKIP_SMUDGE1 git clone https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0 # 进入目录 cd stable-diffusion-…

学习笔记 ASP.NET Core Web API 8.0部署到iis

一.修改配置文件 修改Program.cs配置文件将 if (app.Environment.IsDevelopment()) {app.UseSwagger();app.UseSwaggerUI(); }修改为 app.UseSwagger(); app.UseSwaggerUI(); 二.安装ASP.NET Core Runtime 8.0.14 文件位置https://dotnet.microsoft.com/en-us/download/do…