【开发工具】Git

news2024/11/13 8:03:09

目录

      • 核心概念
      • 基本命令
      • 工作流程
      • Commit message

Git 是一个分布式版本控制系统,用于跟踪在软件开发过程中对文件的修改。它允许多个开发者协作处理项目,并且可以有效地管理代码的历史记录。以下是 Git 的一些核心概念和功能:

核心概念

  1. 仓库 (Repository)

    • 一个 Git 仓库是一个存储项目所有文件的地方,包括所有历史记录。每个仓库都有一个工作目录,用于存放项目的实际文件。
  2. 提交 (Commit)

    • 提交是 Git 中的一个快照,表示在特定时间点上的项目状态。每次提交都会包含一个描述变更的提交信息(commit message)。
  3. 分支 (Branch)

    • 分支是开发中的独立线路。通过创建新的分支,开发者可以在不影响主分支的情况下进行实验或开发新功能。
  4. 合并 (Merge)

    • 合并是指将一个分支的更改整合到另一个分支中。这是团队合作中常见的操作,用于将特性分支的更改集成到主分支。
  5. 暂存区 (Staging Area)

    • 暂存区是 Git 中的一个特殊区域,用于准备下一次提交。你可以选择性地将文件添加到暂存区,然后再提交。
  6. 远程仓库 (Remote Repository)

    • 远程仓库是指托管在网络上的 Git 仓库,允许多个开发者共享同一个项目。常见的远程仓库服务有 GitHub、GitLab 和 Bitbucket。

基本命令

  • git init:初始化一个新的 Git 仓库。
  • git clone <url>:克隆一个远程仓库到本地。
  • git add <file>:将文件添加到暂存区。
  • git commit -m "message":提交暂存区的更改到仓库。
  • git branch:列出所有本地分支。
  • git checkout -b <branch>:创建并切换到新分支。
  • git merge <branch>:将指定分支合并到当前分支。
  • git push <remote> <branch>:将本地分支的更改推送到远程仓库。
  • git pull <remote> <branch>:从远程仓库拉取最新的更改并合并到本地分支。

工作流程

  1. 克隆仓库:使用 git clone 命令从远程服务器克隆仓库到本地。
  2. 创建分支:基于当前的工作创建一个新分支来开发新功能或修复错误。
  3. 编辑文件:在新分支上进行开发,编辑项目文件。
  4. 暂存更改:使用 git add 将更改的文件添加到暂存区。
  5. 提交更改:使用 git commit 将暂存区的更改提交到本地仓库。
  6. 合并更改:当开发完成时,将新分支的更改合并回主分支(如 mastermain)。
  7. 推送更改:使用 git push 将本地更改推送到远程仓库。

Commit message

每次提交,Commit message 都包括三个部分:Header,Body 和 Footer,例:fix(server-renderer): provide __filename to vm for webpack

<type>(<scope>): <subject>
// 空一行
<body>
// 空一行
<footer>
type说明
feat新功能(feature)
fix修补bug
docs文档(documentation)
style格式(不影响代码运行的变动)
refactor重构(即不是新增功能,也不是修改bug的代码变动)
test增加测试
chore构建过程或辅助工具的变动

参考:
https://www.ruanyifeng.com/blog/2016/01/commit_message_change_log.html
https://github.com/vuejs/vue

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

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

相关文章

Codeforces Round 984 (Div. 3)

题目链接 A. Quintomania 题意 思路 模拟即可 示例代码 void solve() {int n;cin >> n;vector<int>arr(n);fer(i, 0 ,n) cin >> arr[i];fer(i, 1, n){if(abs(arr[i] - arr[i - 1]) ! 5 && abs(arr[i] - arr[i - 1]) ! 7){cout << "N…

基于BILSTM及其他RNN序列模型的人名分类器

数据集Kaggle链接 NameNationalLanguage | Kaggle 数据集分布: 第一列为人名,第二列为国家标签 代码开源地址 Kaggle代码链接 https://www.kaggle.com/code/houjijin/name-nationality-classification Gitee码云链接 人名国籍分类 Name Nation classification: using BI…

打包18款AI营销神器,批量运营项目收藏必备!

淘金的不如卖铲子的&#xff0c;AI工具的应用越来越普及&#xff0c;这也让很多原本淘金的人都来卖铲子。如果自己能有很好的铲子&#xff0c;自己也会淘金&#xff0c;就可以既能卖铲子赚钱&#xff0c;也能掏金赚钱。 还有两天就是双十一了&#xff0c;各种AI工具&#xff0…

Leetcode - 周赛422

目录 一&#xff0c;3340. 检查平衡字符串 二&#xff0c;3341. 到达最后一个房间的最少时间 I 三&#xff0c;3342. 到达最后一个房间的最少时间 II 四&#xff0c;3343. 统计平衡排列的数目 一&#xff0c;3340. 检查平衡字符串 本题直接暴力&#xff0c;定义一个变量 s&…

聚观早报 | 比亚迪腾势D9登陆泰国;苹果 iOS 18.2 将发布

聚观早报每日整理最值得关注的行业重点事件&#xff0c;帮助大家及时了解最新行业动态&#xff0c;每日读报&#xff0c;就读聚观365资讯简报。 整理丨Cutie 11月5日消息 比亚迪腾势D9登陆泰国 苹果 iOS 18.2 将发布 真我GT7 Pro防尘防水细节 小米15 Ultra最快明年登场 …

Pytest-Bdd-Playwright 系列教程(7):使用测试代码生成辅助工具

Pytest-Bdd-Playwright 系列教程&#xff08;7&#xff09;&#xff1a;测试代码生成辅助工具的使用 前言一、代码生成辅助工具的设计思路1.1 功能概览1.2 适用人群 二、如何使用 pytest-bdd 代码生成器三、代码生成器的实际应用场景3.1 初学者的学习和实践3.2 大规模功能测试3…

动态规划 —— dp 问题-买卖股票的最佳时机含冷冻期

1. 买卖股票的最佳时机含冷冻期 题目链接&#xff1a; 309. 买卖股票的最佳时机含冷冻期 - 力扣&#xff08;LeetCode&#xff09;https://leetcode.cn/problems/best-time-to-buy-and-sell-stock-with-cooldown/description/ 2. 题目解析 3. 算法原理 状态表示&#xff1a;以…

大数据性能测试怎么做?看完这篇终于懂了

大数据性能测试的目的 1.大数据组件的性能回归&#xff0c;在版本升级的时候&#xff0c;进行新旧版本的性能比对。 2.在新版本/新的生产环境发布之后获取性能基线&#xff0c;建立可度量的参考标准&#xff0c;为其他测试场景或者调优过程提供对比参考。 3.在众多的发行版本…

鸿蒙开发:ArkTS如何读取图片资源

ArkTS在TS的基础上主要扩展了声明式UI能力&#xff0c;简化了构建和更新UI的过程。开发者可以以声明式的方式来描述UI的结构&#xff0c;如使用build方法中的代码块。同时&#xff0c;ArkTS提供了自定义组件、系统组件、属性方法、事件方法等&#xff0c;以构建应用UI界面。今天…

【Unity基础】Unity中如何导入字体?

在Unity中&#xff0c;不能像其他软件一样直接使用字体文件&#xff0c;需要通过FontAssetCreator将其转换成Texture的Asset文件&#xff0c;然后才能使用。 本文介绍了使用FontAssetCreator导入字体的过程&#xff0c;并对其参数设置进行了说明。 Font Asset Creator 是 Uni…

三、直流有刷电机H桥驱动原理

1、H桥简介 H桥驱动电路&#xff1a;是一种用于控制直流电机正反转及速度的电路&#xff0c;其名称来源于其电路结构类似于字母“H”。H桥驱动电路由四个开关元件&#xff08;如晶体管、MOSFET等&#xff09;组成&#xff0c;这些开关元件被配置成可以控制电机两端电流的方向&…

Unity性能优化 -- 性能分析工具

Stats窗口Profiler窗口Memory Profiler其他性能分析工具&#xff08;Physica Debugger 窗口&#xff0c;Import Activity 窗口&#xff0c;Code Coverage 窗口&#xff0c;Profile Analyzer 窗口&#xff0c;IMGUI Debugger 窗口&#xff09; Stats 统级数据窗口 game窗口 可…

html的week控件 获取周(星期)的第一天(周一)和最后一天(周日)

html的week控件 获取周(星期)的第一天(周一)和最后一天(周日) <input type"week" id"week" class"my-css" value"ViewBag.DefaultWeek" /><script> function PageList() { var dateStrin…

[C++11] 可变参数模板

文章目录 基本语法及原理可变参数模板的基本语法参数包的两种类型可变参数模板的定义 sizeof... 运算符可变参数模板的实例化原理可变参数模板的意义 包扩展包扩展的基本概念包扩展的实现原理编译器如何展开参数包包扩展的高级应用 emplace 系列接口emplace_back 和 emplace 的…

Axure设计之左右滚动组件教程(动态面板)

很多项目产品设计经常会遇到左右滚动的导航、图片展示、内容区域等&#xff0c;接下来我们用Axure来实现一下左右滚动的菜单导航。通过案例我们可以举一反三进行其他方式的滚动组件设计&#xff0c;如常见的上下滚动、翻页滚动等等。 一、效果展示&#xff1a; 1、点击“向左箭…

qt QListWidget详解

1、概述 QListWidget 是 Qt 框架中的一个类&#xff0c;它提供了一个基于模型的视图&#xff0c;用于显示项目的列表。QListWidget 继承自 QAbstractItemView 并为项目列表提供了一个直观的接口。与 QTreeView 和 QTableView 不同&#xff0c;QListWidget 是专门为单行或多行项…

vue--vueCLI

何为CLI ■ CLI是Command-Line Interface,俗称脚手架. ■ 使用Vue.js开发大型应用时&#xff0c;我们需要考虑代码目录结构、项目结构和部署、热加载、代码单元测试等事情。&#xff08;vue 脚手架的作用&#xff09;&#xff0c; 而通过vue-cli即可&#xff1a;vue-cli 可以…

思维,CF 1735D - Meta-set

目录 一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 二、解题报告 1、思路分析 2、复杂度 3、代码详解 一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 1735D - Meta-set 二、解题报告 1、思路分析 考虑一个五元组<a, b, c…

C#的6种常用集合类

一.先来说说数组的不足&#xff08;也可以说集合与数组的区别&#xff09;&#xff1a; 1.数组是固定大小的&#xff0c;不能伸缩。虽然System.Array.Resize这个泛型方法可以重置数组大小&#xff0c;但是该方法是重新创建新设置大小的数组&#xff0c;用的是旧数组的元素初始…

深度学习-神经网络基础-激活函数与参数初始化(weight, bias)

一. 神经网络介绍 神经网络概念 神经元构建 神经网络 人工神经网络是一种模仿生物神经网络结构和功能的计算模型, 由神经元构成 将神经元串联起来 -> 神经网络 输入层: 数据 输出层: 目标(加权和) 隐藏层: 加权和 激活 全连接 第N层的每个神经元和第N-1层的所有神经元…