初始Git

news2024/11/18 16:47:37

文章目录

  • 前言
    • 技术目标
    • 协作目标
  • 一、提出问题
  • 二、如何解决
    • 版本控制器
    • 注意事项
  • 三、Git安装
    • Linux-centos
    • Linux-ubuntu
  • 四、Git基本操作
    • 创建Git本地仓库
    • 配置Git
  • 总结


前言

技术目标

  1. 掌握Git企业级应用,深刻理解Git操作过程与操作原理,理解工作区,暂存区,版本库的含义.
  2. 掌握Git版本管理,自由进行版本回退、撤销、修改等Git操作方式与背后操作原理.
  3. 掌握Git分支管理,从分支创建、合并、删除的整个生命周期,灵活进行各种场景下的分支管理,学习常见分支管理策略.
  4. 掌握Git远程仓库与本地仓库,结合版本管理与分支管理,做到基于分支级的个人级开发.
  5. 理解分布式版本控制系统,学习远程仓库与本地仓库的交互操作,掌握多人协作开发模式.

协作目标

学习企业级常见分支策略(master/release/develop/feature/hotfix等),理解不同公司,不同环境下适合的分支模型.结合案例,引入工程师,测试人员,技术经理等角色,展现项目开发过程的全貌,深刻理解开发的整体流程,俯视Git在其中的作用.


正文开始!!!

一、提出问题

大家在工作或者学习的时候,可能会遇到这样的情况:我们在编写各种文档的时候,为了防止文档丢失,更改失误,失误后能恢复到原来的版本,不得不复制出一个副本,比如:

“报告-v1”
“报告-v2”
“报告-v3”
“报告-v4”

“报告-vn”

每个版本有各自的内容,但最终只会有一份报告需要被我们使用.

但是在此之前的工作都需要这些不同版本的报告,于是每次都是复制粘贴副本,产出的文件就越来越多,文件多不是问题,问题是:随着版本数量的不断增多,你是否还记得这些版本各自都修改了什么吗?

文档如此,我们写的项目代码,也存在这个问题!!!

二、如何解决

版本控制器

为了能够更方便我们管理这些不同版本的文件,便有了版本控制器.所谓的版本控制器,就是能让你了解到一个文件的历史,以及他的发展过程的系统.通俗的讲就是一个可以记录工程的每一次改动和版本迭代的一个管理系统,同时也方便多人协同作业.

目前最主流的版本控制器就是Git.Git可以控制电脑上所有格式的文件,例如doc、excel、dwg、dgn、rvt等等.对于开发人员来说,Git最重要的就是可以帮助我们管理软件开发项目中的源代码文件.

注意事项

需要明确一点,所有的版本控制系统,Git也不例外,其实只能跟踪文本文件的改动,比如txt文件,网页,所有的程序代码等等.版本控制系统可以告诉你每次的改动,比如在第五行加了一个单词"rose",在第八行删了一个单词"white".

而图片、视频这些二进制文件,虽然也能由版本控制系统管理,但没法跟踪文件的变化,只能把二进制文件每次改动串起来,也就是只知道图片从100KB改为了200KB,但到底改了啥,版本控制系统不知道,也没法知道.

三、Git安装

Git是开放源代码的代码托管工具,最早是在Linux下开发的.开始也只能应用于Linux平台,后面慢慢的被移植到windows下.现在,Git可以在Linux、Unix、Mac和Windows这几大平台上正常运行了.

Linux-centos

如果你的的平台是centos,安装git相当简单,以我的centos7.6为例:
⾸先,你可以试着输⼊Git,看看系统有没有安装Git:

$ git
-bash: git: command not found

出现像上⾯的结果,Linux会友好地告诉你Git没有安装。
安装 Git:

sudo yum -y install git

查看 Git 安装的版本:

git --version

Linux-ubuntu

如果你的的平台是ubuntu,安装git相当简单,以我的ubuntu20.04为例:
⾸先,你可以试着输⼊git,看看系统有没有安装Git:

$ git
Command ‘git’ not found, but can be installed with:
sudo apt install git

出现像上⾯的结果,Linux会友好地告诉你Git没有安装,还会告诉你如何 安装Git。
安装 Git:

$ sudo apt-get install git -y

查看 Git 安装的版本:

git --version

四、Git基本操作

创建Git本地仓库

要提前说的是,**仓库是进行版本控制的一个文件目录.**我们要想对文件进行版本控制,就必须先创建一个仓库出来.

创建一个Git本地仓库对应的命令是git init,注意命令要在文件目录下执行,例如:
在这里插入图片描述
我们发现,当前目录下多了一个.git的隐藏文件,.git目录是Git来跟踪管理仓库的,不要手动修改这个目录里面的文件,不然改乱了,就把Git仓库给破坏了.

其中包含 Git 仓库的诸多细节:

在这里插入图片描述

配置Git

当安装Git后首先要做的事情是设置你的用户名称e-mail地址,这是非常重要的.配置命令为:

git config --global user.name “Your Name”
git config --global user.email “email@example.com”

// 把 Your Name 改成你的昵称
// 把 email@example.com 改成邮箱的格式,只要格式正确即可.

其中--global是一个可选项.如果使用了该选项,表示这台机器上所有的Git仓库都会使用这个配置.如果你希望在不同的仓库使用不同的namee-mail,可以不适用--global选项,但要注意的是,执行命令的时候必须要在仓库里.

查看配置命令为

git config -l

删除对应配置命令为:

git config [–global] --unset user.name
git config [–global] --unset user.email


总结

(本章完!)

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

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

相关文章

LC-1595. 连通两组点的最小成本(状态压缩DP(记忆化搜索==>动态规划))

1595. 连通两组点的最小成本 难度困难86 给你两组点,其中第一组中有 size1 个点,第二组中有 size2 个点,且 size1 > size2 。 任意两点间的连接成本 cost 由大小为 size1 x size2 矩阵给出,其中 cost[i][j] 是第一组中的点 …

FineReport学习3

冻结行列(冻结表头) 创建多数据源之间的关联 给单元格添加过滤条件,让 ds2 的「客户ID」等于 ds1 的「客户ID」,这样两数据集就关联起来 复杂多源报表

.NETCore项目在Windows下构建Docker镜像并本地导出分发到CentOS系统下

在Windows下使用Docker,我们选择Docker Desktop这个软件,非常方便。 Docker Desktop介绍及安装 Docker Desktop是适用于Mac、Linux或Windows环境的一键安装应用程序,使您能够构建和共享容器化应用程序和微服务。 它提供了一个简单的GUI&…

[数据库系统] 五、数据增删改

第一关:数据插入 用insert给数据库添加数据 相关知识 有关系student(sno,sname,ssex,sage,sdept),属性对应含义:学号,姓名,性别,所在系。现有的部分元组如下所示 insert 向数据库表插入数据的基本格式有…

生成 ocr key 字符集 alphabet 6698个字符

生成 ocr key 字符集 alphabet import pickle as pkl#----------- 生成 ocr key 字符集 alphabet alphabet_set set() # 数据集label infofiles_label [/home/jlb/下载/rec_data_lesson_demo/train.txt, /home/jlb/下载/rec_data_lesson_demo/val.txt]# ppocr中文key infofil…

SpringBoot—热部署(Community)

配置热部署 &#x1f50e;引入依赖&#x1f50e;设置 Settings 文章介绍的是社区版 Idea 配置热部署的步骤 &#x1f50e;引入依赖 复制如下代码至 pom.xml 文件中即可 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-b…

无人机遥感在农林信息提取中的实现方法与GIS融合制图教程

详情点击链接&#xff1a;无人机遥感在农林信息提取中的实现方法与GIS融合制图 遥感技术作为一种空间大数据手段&#xff0c;能够从多时、多维、多地等角度&#xff0c;获取大量的农情数据。数据具有面状、实时、非接触、无伤检测等显著优势&#xff0c;是智慧农业必须采用的重…

【夏季旅行团建】趣玩千岛湖-环湖骑行闯关-卡丁车上演速度与激情-刺激高空体验,杭州周边江浙沪团建好去处

千岛湖的秀丽景色让人惊艳&#xff0c;也是江浙沪地区热门的团建目的地之一&#xff1b; 千岛湖隶属于淳安县。从杭州自驾2个小时&#xff0c;高铁1小时&#xff0c;属于国家5A级别的人工湖&#xff0c;前身是新安江水库。拥有星罗棋布的1078个岛屿&#xff0c;是世界上岛屿最多…

AndroidStudio xml布局文件输入没有提示

AndroidStudio xml布局文件输入没有提示&#xff0c;如下图&#xff1a; 原因是老的AndroidStudio与新的sdk版本不一致 方法1&#xff1a;修改compileSdkVersion低于33即可&#xff0c;不建议 方法2&#xff1a;升级AndroidStudio版本&#xff0c;建议 如下是我的AndroidStu…

详解序列化

目录 1.什么是序列化 2.JAVA中的序列化 2.1.成员变量必须可序列化 2.2.transient关键字&#xff0c;可避免被序列化 2.3.无法更新状态 2.4.serialVersionUID 3.JDK序列化算法 4.序列化在实际中的一些应用 1.什么是序列化 序列化就是将对象转换为二进制格式的过程。对象…

MySQL的MMM高可用

MySQL的MMM高可用 一、MMM简介二、搭建MySQL的MMM高可用1、准备环境2、 搭建 MySQL 多主多从模式3、安装配置 MySQL-MMM4、故障测试5、客户端测试 一、MMM简介 MMM&#xff08;Master-Master replication manager for MvSQL&#xff0c;MySQL主主复制管理器&#xff09;是一套…

访问学者申请英语口语怎样顺利通关

想要成功申请成为访问学者&#xff0c;英语口语的流利表达是非常重要的。下面知识人网小编整理的一些帮助你顺利通关的建议&#xff1a; 1. 提前准备&#xff1a;在面试之前&#xff0c;充分准备各种常见问题的回答。练习口语表达&#xff0c;加强词汇和语法的掌握。可以通过与…

如何学习PHP语法和基本概念? - 易智编译EaseEditing

学习PHP语法和基本概念是成为一个合格的PHP开发者的第一步。以下是一些学习PHP语法和基本概念的建议&#xff1a; 官方文档&#xff1a; PHP官方提供了详细的文档&#xff0c;包括语言参考、函数参考和示例等。阅读官方文档是学习PHP语法和基本概念的最佳途径。你可以访问PHP…

企业如何数字化转型?企业数字化转型面临哪些挑战?

一文看懂&#xff1a;传统企业数字化转型会面临哪些困难与挑战&#xff1f;如何有效解决&#xff1f; 目前&#xff0c;数字技术的发展已经从互联网、大数据&#xff0c;迈入了AI人工智能时代。而企业也如逆水行舟、不进则退&#xff0c;如果不进行数字化转型&#xff0c;企业…

AI芯片的基础

前置基础 AI芯片其实就是AI算法的专用处理器&#xff0c;像CPU的话是一个通用处理器&#xff0c;CPU按照逻辑可以分为三个模块&#xff1a;控制模块&#xff0c;运算模块&#xff0c;存储模块&#xff1b;其中控制单元有指令寄存器和指令译码器&#xff0c;根据用户预先编译好…

关于Apache Dubbo反序列化漏洞(CVE-2023-23638)的预警提示与对应的Zookeeper版本

公司在升级dubbo过程中因zookeeper版本不匹配&#xff0c;导致服务注册和调用出现异常 一、漏洞详情 Apache Dubbo是一款高性能、轻量级的开源Java服务框架。 Apache官方发布安全公告&#xff0c;修复了Apache Dubbo中的一个反序列化漏洞&#xff08;CVE-2023-23638&#xff…

系统架构设计师 5:软件工程

一、软件工程 1 软件过程模型 软件要经历从需求分析、软件设计、软件开发、运行维护&#xff0c;直至被淘汰这样的全过程&#xff0c;这个全过程称为软件的生命周期。 为了使软件生命周期中的各项任务能够有序地按照规程进行&#xff0c;需要一定的工作模型对各项任务给予规…

不会设计也能轻松制作商品宣传海报图片,只要跟着这个教程走

促销活动是商家吸引顾客的重要方式之一&#xff0c;而宣传海报则是促销活动中的主要宣传工具之一。好的宣传海报可以让顾客对活动产生兴趣&#xff0c;提高产品的曝光率。然而&#xff0c;对于小型商家来说&#xff0c;往往没有专业的设计人员&#xff0c;如何制作出符合自己需…

项目开发中的安全问题怎么处理?

目录 1.客户的数据不可信 2. 客户端提交的参数需要校验 3.请求头里的内容出现错误 1.客户的数据不可信 PostMapping("/order") public void wrong(RequestBody Order order) {this.createOrder(order); } 对应的实体类如下&#xff1a; Data public class Order …

[框架]MyBatis框架

关于MyBatis框架 MyBatis框架的主要作用&#xff1a;实现并简化数据库编程。 MyBatis框架的依赖项 MyBatis框架的依赖项是&#xff1a;mybatis&#xff0c;但&#xff0c;通常还应该再添加&#xff1a;mybatis-spring、spring-jdbc、mysql或其它数据库的依赖项、数据库连接池…