广州网站开发创意设计公司/百度seo发帖推广

广州网站开发创意设计公司,百度seo发帖推广,东营做网站公司,wordpress使用教学Git 课程笔记 一、Git 的介绍 1. Git 的诞生背景 Git 是 Linux 内核的作者 Linus Torvalds 为了更好地管理 Linux 内核开发而创建的版本控制系统。在 Linux 内核开发初期,由于开发者众多,协作成本很高,后来使用了 BitKeeper 工具来辅助协作…

Git 课程笔记

一、Git 的介绍

1. Git 的诞生背景

Git 是 Linux 内核的作者 Linus Torvalds 为了更好地管理 Linux 内核开发而创建的版本控制系统。在 Linux 内核开发初期,由于开发者众多,协作成本很高,后来使用了 BitKeeper 工具来辅助协作,但后来由于合作结束,Linus Torvalds 决定自己开发一套版本管理系统,这就是 Git。Git 是开源的,可以在 GitHub 上找到该项目。

2. Git 的作用

Git 的主要作用是帮助我们控制版本。如果没有版本管理系统,我们在开发过程中可能会遇到很多问题,比如无法回到之前的版本、文件备份占用大量空间、多人协作时文件合并困难等。Git 能够很好地解决这些问题。

二、Git 的安装与配置

1. Git 的安装

Git 的安装相对容易,可以在官网找到不同操作系统的安装包。以 Mac OS 为例,可以从官网下载安装器,然后按照提示进行安装。安装完成后,可以通过 git --version 命令验证是否安装成功。

2. Git 的配置

在使用 Git 之前,需要进行一些配置,比如设置用户名和邮箱。可以使用以下命令进行配置:

git config --global user.name "你的用户名"
git config --global user.email "你的邮箱"

三、Git 的重要概念

1. Git、GitHub 和 GitLab

Git 是一个版本控制系统,GitHub 和 GitLab 是基于 Git 的代码托管平台。GitHub 是目前世界上最大的代码托管平台,很多开源项目都在上面。GitLab 则更适合企业内部使用,可以搭建私有的代码托管平台。

2. 工作区、暂存区和本地仓库

工作区是我们平时编写代码的地方,当我们想要把工作区的变动提交到版本控制系统时,需要先将文件添加到暂存区,然后再提交到本地仓库。

3. HEAD、分支和远程仓库

HEAD 指向当前所在的提交,分支是开发中的不同线路,远程仓库是团队协作时用来共享代码的仓库。

四、单人开发者如何使用 Git

1. 基本工作流程

单人开发的基本工作流程包括创建项目、添加文件、提交变更等。可以使用 git init 创建新的 Git 项目,使用 git add 将文件添加到暂存区,使用 git commit 提交变更。

示例:创建项目并提交变更
  1. 创建项目目录

    mkdir myproject
    cd myproject
    
  2. 初始化 Git 项目

    git init
    
  3. 创建并编辑文件

    touch README.md
    echo "My Project" >> README.md
    
  4. 添加文件到暂存区

    git add README.md
    
  5. 提交变更

    git commit -m "Initial commit"
    

2. 实际开发场景

在实际开发中,可能会遇到很多问题,比如提交错误、想要撤销变更、查看不同版本之间的差异等。可以使用 git reset 回退版本,使用 git stash 暂时存储未提交的变更,使用 git diff 查看差异。

示例:回退版本
  1. 查看提交历史

    git log
    
  2. 回退到上一个版本

    git reset --hard HEAD~1
    
示例:暂存未提交的变更
  1. 暂存变更

    git stash
    
  2. 查看暂存列表

    git stash list
    
  3. 应用暂存的变更

    git stash pop
    
示例:查看差异
  1. 查看工作区与暂存区的差异

    git diff
    
  2. 查看暂存区与本地仓库的差异

    git diff --staged
    

五、多人协作下如何使用 Git

1. 基本流程

多人协作的基本流程包括创建项目、克隆项目、提交变更、拉取远程代码等。可以使用 git clone 克隆远程项目,使用 git push 将本地代码推送到远程仓库,使用 git pull 拉取远程代码。

示例:克隆项目并提交变更
  1. 克隆远程项目

    git clone https://github.com/username/myproject.git
    
  2. 进入项目目录

    cd myproject
    
  3. 创建并切换到新分支

    git checkout -b new-feature
    
  4. 编辑文件并添加到暂存区

    git add .
    
  5. 提交变更

    git commit -m "Add new feature"
    
  6. 推送变更到远程仓库

    git push origin new-feature
    

2. 冲突解决

在多人协作中,可能会遇到冲突,比如两个人修改了同一个文件的同一部分。解决冲突的方法是手动修改冲突部分,然后重新提交。

示例:解决冲突
  1. 拉取远程代码

    git pull origin main
    
  2. 解决冲突

    # 手动修改冲突部分
    
  3. 添加解决冲突的文件

    git add .
    
  4. 提交解决冲突的变更

    git commit -m "Resolve conflict"
    
  5. 推送变更到远程仓库

    git push origin new-feature
    

3. 工作流

常见的 Git 工作流包括功能分支工作流、GitFlow 工作流等。功能分支工作流是为每个功能创建一个分支,开发完成后合并到主分支。GitFlow 工作流则更加复杂,包括开发分支、发布分支、热修复分支等。

功能分支工作流
  1. 创建功能分支

    git checkout -b feature-branch
    
  2. 开发功能

    # 编辑文件
    
  3. 提交功能

    git add .
    git commit -m "Add feature"
    
  4. 合并功能到主分支

    git checkout main
    git merge feature-branch
    
  5. 删除功能分支

    git branch -d feature-branch
    
GitFlow 工作流
  1. 创建开发分支

    git checkout -b develop
    
  2. 创建功能分支

    git checkout -b feature-branch develop
    
  3. 开发功能

    # 编辑文件
    
  4. 提交功能

    git add .
    git commit -m "Add feature"
    
  5. 合并功能到开发分支

    git checkout develop
    git merge feature-branch
    
  6. 创建发布分支

    git checkout -b release-branch develop
    
  7. 发布版本

    git tag -a v1.0 -m "Release version 1.0"
    
  8. 合并发布分支到主分支和开发分支

    git checkout main
    git merge release-branch
    git checkout develop
    git merge release-branch
    
  9. 删除发布分支

    git branch -d release-branch
    
  10. 创建热修复分支

    git checkout -b hotfix-branch main
    
  11. 修复问题

    # 编辑文件
    
  12. 提交修复

    git add .
    git commit -m "Fix bug"
    
  13. 合并热修复到主分支和开发分支

    git checkout main
    git merge hotfix-branch
    git checkout develop
    git merge hotfix-branch
    
  14. 删除热修复分支

    git branch -d hotfix-branch
    

六、在 IDEA 中优雅地使用 Git

IDEA 集成了 Git 功能,可以方便地进行版本控制操作。可以使用 IDEA 的图形界面进行提交、切换分支、对比代码等操作。

示例:在 IDEA 中提交变更
  1. 打开项目

    # 在 IDEA 中打开项目
    
  2. 编辑文件

    # 编辑文件
    
  3. 查看变更

    # 在 IDEA 的 Version Control 面板中查看变更
    
  4. 提交变更

    # 在 IDEA 的 Version Control 面板中提交变更
    
  5. 切换分支

    # 在 IDEA 的 Version Control 面板中切换分支
    
  6. 合并分支

    # 在 IDEA 的 Version Control 面板中合并分支
    
  7. 解决冲突

    # 在 IDEA 的 Version Control 面板中解决冲突
    

七、Git Ignore

Git Ignore 文件用于指定哪些文件或目录不需要被 Git 管理。可以使用 *.log 忽略所有日志文件,使用 target/ 忽略整个 target 目录等。

示例:创建 Git Ignore 文件
  1. 创建 Git Ignore 文件

    touch .gitignore
    
  2. 编辑 Git Ignore 文件

    # 忽略日志文件
    *.log# 忽略目标目录
    target/
    
  3. 添加并提交 Git Ignore 文件

    git add .gitignore
    git commit -m "Add .gitignore"
    

八、总结

1. Git 常用命令总结

命令描述
git init创建新的 Git 项目
git clone克隆远程项目
git add将文件添加到暂存区
git commit提交变更
git status查看当前状态
git log查看提交历史
git branch查看或创建分支
git checkout切换分支
git merge合并分支
git push将本地代码推送到远程仓库
git pull拉取远程代码
git reset回退版本
git stash暂时存储未提交的变更
git diff查看差异

2. 单人开发与多人协作场景总结

在单人开发中,主要关注基本工作流程和实际开发场景中的问题解决。在多人协作中,需要关注基本流程、冲突解决和工作流。掌握这些内容,可以相对熟练地使用 Git 进行版本控制。

图形解释步骤

工作区、暂存区和本地仓库的关系
工作区 -> 暂存区 -> 本地仓库git add    git commit
分支的创建和合并
      main|vdevelop <- feature-branch^|git checkout -b feature-branch|vgit merge feature-branch
冲突解决流程
git pull origin main
解决冲突
git add .
git commit -m "Resolve conflict"
git push origin new-feature

希望这些详细的笔记和图形解释步骤对你有所帮助!如果有任何问题或需要进一步的解释,请随时告诉我。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/72500.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

蓝耘智算|从静态到动态:探索Maas平台海螺AI图片生成视频功能的强大能力

文章目录 &#x1f44f;一、技术介绍&#x1f44f;二、平台注册&#x1f44f;三、功能体验&#x1f44f;四、总结 随着人工智能技术的快速发展&#xff0c;视频处理和生成技术已经成为了众多行业关注的热点。最近&#xff0c;我有机会体验了蓝耘智算平台的Maas平海螺AI视频产品…

解决从deepseek接口获取的流式响应输出到前端都是undefined的问题

你的前端 EventSource 代码遇到了 undefined 连续输出 的问题&#xff0c;通常是因为&#xff1a; AI 返回的内容被拆成了单个字符&#xff0c;导致前端 JSON.parse(event.data).content 获取到的是单个字符&#xff0c;而 undefined 可能是因为某些数据块没有 content 字段。…

前缀和 之 哈希表 之 和 的奇偶与倍数

文章目录 930.和相同的二元子数组523.连续的子数组和 求解连续子数组的和的问题&#xff0c;常常会使用到这个前缀和的思路&#xff0c;当然当数组存在单调性的时候&#xff0c;可以考虑使用不定长滑动窗口&#xff0c;在这里解释一下&#xff0c;何为数组的和存在这个单调性&a…

Docker Compose 和 Kubernetes(K8s)对比

Docker Compose 和 Kubernetes&#xff08;K8s&#xff09;在某些方面有相似的功能&#xff0c;但它们的 核心用途和适用场景不同。以下是它们的主要区别和联系&#xff1a; 1. Docker Compose 和 Kubernetes 的区别 对比项Docker ComposeKubernetes&#xff08;K8s&#xff0…

晶艺代理,100V3.5A高耐压LA1823完全替换MP9487--启烨科技有限公司

晶艺品牌LA1823是异步降压转换器&#xff0c;COT控制&#xff0c;PFM工作模式, 150KHz/ 250KHz/ 450KHz &#xff0c;开关频率可调节&#xff0c;输入电压4.5~100V&#xff0c;2A平均电流&#xff0c;峰值电流3.5A&#xff0c;采用ESOP8封装。 晶艺LA1823的特性&#xff1a; 4.…

PLC控制柜在技术创新驱动中功能演进 尤劲恩科技

在智能制造体系中&#xff0c;PLC控制柜不仅承担着传统设备控制的基础功能&#xff0c;更通过工业以太网、PROFIBUS等现场总线技术&#xff0c;构建起分布式控制系统&#xff08;DCS&#xff09;。这种拓扑结构使生产线具备实时数据采集、远程监控和智能决策能力&#xff0c;显…

【JavaEE】Spring Boot 日志

目录 一、日志概述二、使用日志2.1 打印日志2.2 日志框架2.2.1 门面 / 外观 模式 2.3 日志级别2.3.1 六大分类2.3.2 使用 2.4 日志级别配置2.5 日志的持久化2.6 日志文件分割2.7 日志文件格式2.8 Slf4j 简单打印日志 一、日志概述 ⽇志主要是为了发现问题, 分析问题, 定位问题…

uniapp APP权限弹框

效果图 第一步 新建一个页面&#xff0c;设置透明 {"path": "pages/permissionDisc/permissionDisc","style": {"navigationBarTitleText": "","navigationStyle": "custom","app-plus": {&…

(性能测试)性能测试工具 2.jmeter的环境搭建 3jmeter元件和4使用实例 5jmeter元件和参数化

目录 性能测试工具 性能测试工具 jemeter环境搭建 jmeter的常用目录介绍 jmeter修改语言和主题--jmeter界面的汉化 jmeter元件 jmeter元件和组件的介绍 jmeter的作用域原则 jmeter的执行顺序 案例&#xff1a;执行顺序 jmeter使用案例 jmeter线程组的介绍 jmeter…

Qt程序基于共享内存读写CodeSys的变量

文章目录 1.背景2.结构体从CodeSys导出后导入到C2.1.将结构体从CodeSys中导出2.2.将结构体从m4文件提取翻译成c格式 3.添加RTTR注册信息4.读取PLC变量值5.更改PLC变量值6.Qt读写CodeSys的共享内存 1.背景 在文章【基于RTTR在C中实现结构体数据的多层级动态读写】中&#xff0c…

计算机视觉——深入理解卷积神经网络与使用卷积神经网络创建图像分类算法

引言 卷积神经网络&#xff08;Convolutional Neural Networks&#xff0c;简称 CNNs&#xff09;是一种深度学习架构&#xff0c;专门用于处理具有网格结构的数据&#xff0c;如图像、视频等。它们在计算机视觉领域取得了巨大成功&#xff0c;成为图像分类、目标检测、图像分…

服务性能防腐体系:基于自动化压测的熔断机制

01# 背景 在系统架构的演进过程中&#xff0c;项目初始阶段都会通过压力测试构建安全护城河&#xff0c;此时的服务性能与资源水位保持着黄金比例关系。然而在业务高速发展时期&#xff0c;每个冲刺周期都被切割成以业务需求为单位的开发单元&#xff0c;压力测试逐渐从必选项…

SpringBoot 和vue前后端配合开发网页拼图10关游戏源码技术分享

今天分享一个 前后端结合 的网页游戏 开发项目源码技术。 这也是我第一次写游戏类的程序&#xff0c;虽然不是特别复杂的游戏&#xff0c;但是是第一次写&#xff0c;肯定要记录一下了&#xff0c;哈哈。 游戏的内容 就是 我们显示中玩的那个 拼图碎片的 游戏&#xff0c;类似下…

01-Canvas-使用fabric初始

fabric官网&#xff1a; https://fabric5.fabricjs.com/demos/ 创建画布并绘制 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-sca…

【机器学习-基础知识】统计和贝叶斯推断

1. 概率论基本概念回顾 1. 概率分布 定义: 概率分布(Probability Distribution)指的是随机变量所有可能取值及其对应概率的集合。它描述了一个随机变量可能取的所有值以及每个值被取到的概率。 对于离散型随机变量,使用概率质量函数来描述。对于连续型随机变量,使用概率…

《TCP/IP网络编程》学习笔记 | Chapter 18:多线程服务器端的实现

《TCP/IP网络编程》学习笔记 | Chapter 18&#xff1a;多线程服务器端的实现 《TCP/IP网络编程》学习笔记 | Chapter 18&#xff1a;多线程服务器端的实现线程的概念引入线程的背景线程与进程的区别 线程创建与运行pthread_createpthread_join可在临界区内调用的函数工作&#…

创新实践分享:基于边缘智能+扣子的智能取物机器人解决方案

在 2024 年全国大学生物联网设计竞赛中&#xff0c;火山引擎作为支持企业&#xff0c;不仅参与了赛道的命题设计&#xff0c;还为参赛队伍提供了相关的硬件和软件支持。以边缘智能和扣子的联合应用为核心&#xff0c;参赛者们在这场竞赛中展现出了卓越的创新性和实用性&#xf…

QT:动态属性和对象树

动态对象 1.添加Q_PROPERTY对象 #ifndef MYPROPERTYCLASS_H #define MYPROPERTYCLASS_H#include <QObject>class MyPropertyClass : public QObject {Q_OBJECTQ_PROPERTY(QString mask READ mask WRITE setMask NOTIFY maskChanged) public:explicit MyPropertyClass(Q…

在 Windows 上使用 choco 安装 mkcert 并配置 Vue 运行HTTPS

解决在Windows上使用Vue本地运行HTTPS的问题,vue-cli或vite都可以使用 步骤 1&#xff1a;确认 Chocolatey 是否已安装 1. 检查 choco 命令是否可用 打开 PowerShell&#xff08;管理员权限&#xff09;&#xff0c;输入&#xff1a; choco -v如果显示版本号&#xff08;如…

2、操作系统之软件基础

一、硬件支持系统 &#xff0c;系统管理硬件 操作系统核心功能可以分为&#xff1a; 守护者&#xff1a;对硬件和软件资源的管理协调者&#xff1a;通过机制&#xff0c;将各种各样的硬件资源适配给软件使用。 所以为了更好的管理硬件&#xff0c;操作系统引进了软件。其中3大…