一读就懂------Git入门

2023-11-04 00:58
文章标签 入门 ------ git 一读

本文主要是介绍一读就懂------Git入门,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1 . 什么是Git .

Git是一个开源的分布式版本控制系统。可以有效、高速的处理从很小到非常大的项目版本管理
产生背景:
Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件,既然是软件,自然需要安装,去官网下载对应版本安装就可以了,这里不再赘述。

Github 中基础概念:

  • 仓库(Repository):存放项目代码,一个项目一个仓库,多个开源项目多个仓 库。

  • 收藏 ( Star ):收藏项目,方便下次查看。

  • 复制克隆项目(Fork):复制克隆他人项目,该fork项目独立于母本存在。

  • 发起请求(Pull Request):基于fork,从别人fork的项目做了改进,觉得改进不错,就把自己的改进合并到原有项目里,这时可以发起PR,原有的项目创建人,就可以收到这个请求,会仔细review你的代码,觉得OK,就会接受你的PR.

  • 关注 ( Watch ):如果你watch了某个项目,那么只要该项目有任何更新,你就会第一时间收到关于这个项目的通知与提醒。

  • 任务卡片(Issue):发现代码BUG,别人发现你哪方面做的不好,就可以给你提个issue, 即问题,提的问题多了就是issues,逐个修复就可以一个个Close掉。

2 , 特点及优势

分布式:
分而治之,归总融合,更高效便捷。
分布式相比于集中式的最大区别在于开发者可以提交到本地,每个开发者通过克隆(git clone //命令语句,下面会有详细说明),在本地机器上拷贝一个完整的Git仓库。
可回退:
git可以完整记录开发版本的迭代及相应状态。一旦发生意外状况,可以回退至上一稳定版本。

git的另一大优势在于Github的加持,非常有益于团队协作。

3,功能

从一般开发者的角度来看,git有以下功能:
1、从服务器上克隆完整的Git仓库(包括代码和版本信息)到单机上。
2、在自己的机器上根据不同的开发目的,创建分支,修改代码。
3、在单机上自己创建的分支上提交代码。
4、在单机上合并分支。
5、把服务器上最新版的代码fetch下来,然后跟自己的主分支合并。
6、生成补丁(patch),把补丁发送给主开发者。
7、看主开发者的反馈,如果主开发者发现两个一般开发者之间有冲突(他们之间可以合作解决的冲突),就会要求他们先解决冲突,然后再由其中一个人提交。如果主开发者可以自己解决,或者没有冲突,就通过。
8、一般开发者之间解决冲突的方法,开发者之间可以使用pull 命令解决冲突,解决完冲突之后再向主开发者提交补丁。

从主开发者的角度(假设主开发者不用开发代码)看,git有以下功能:
1、查看邮件或者通过其它方式查看一般开发者的提交状态。
(可以看出你工作中提交了多少代码,你是在工作还是在游戏,恩,,,喝个茶吧。)
2、打上补丁,解决冲突(可以自己解决,也可以要求开发者之间解决以后再重新提交,如果是开源项目,还要决定哪些补丁有用,哪些不用)。
3、向公共服务器提交结果,然后通知所有开发人员。

或许你对pull fetch 等git命令还不清楚,来,送你张图~~
这里写图片描述

4,Gitbub用法

创建本地仓库(Repository)
注册Github账号并创建一个仓库。
设置SSH密钥
如果是已有项目(一般是这种情况,公司往往已经有完善的项目)fork到你自己的账户,clone到本地仓库,进行相关的开发维护。
新项目的话,只需要在本地进行开发,然后上传到Github上的仓库, 提交、联调就可以了。
具体的操作见阮一峰大神的教程

这篇关于一读就懂------Git入门的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/342091

相关文章

从入门到精通C++11 <chrono> 库特性

《从入门到精通C++11<chrono>库特性》chrono库是C++11中一个非常强大和实用的库,它为时间处理提供了丰富的功能和类型安全的接口,通过本文的介绍,我们了解了chrono库的基本概念... 目录一、引言1.1 为什么需要<chrono>库1.2<chrono>库的基本概念二、时间段(Durat

一文详解Git中分支本地和远程删除的方法

《一文详解Git中分支本地和远程删除的方法》在使用Git进行版本控制的过程中,我们会创建多个分支来进行不同功能的开发,这就容易涉及到如何正确地删除本地分支和远程分支,下面我们就来看看相关的实现方法吧... 目录技术背景实现步骤删除本地分支删除远程www.chinasem.cn分支同步删除信息到其他机器示例步骤

解析C++11 static_assert及与Boost库的关联从入门到精通

《解析C++11static_assert及与Boost库的关联从入门到精通》static_assert是C++中强大的编译时验证工具,它能够在编译阶段拦截不符合预期的类型或值,增强代码的健壮性,通... 目录一、背景知识:传统断言方法的局限性1.1 assert宏1.2 #error指令1.3 第三方解决

从入门到精通MySQL 数据库索引(实战案例)

《从入门到精通MySQL数据库索引(实战案例)》索引是数据库的目录,提升查询速度,主要类型包括BTree、Hash、全文、空间索引,需根据场景选择,建议用于高频查询、关联字段、排序等,避免重复率高或... 目录一、索引是什么?能干嘛?核心作用:二、索引的 4 种主要类型(附通俗例子)1. BTree 索引(

Redis 配置文件使用建议redis.conf 从入门到实战

《Redis配置文件使用建议redis.conf从入门到实战》Redis配置方式包括配置文件、命令行参数、运行时CONFIG命令,支持动态修改参数及持久化,常用项涉及端口、绑定、内存策略等,版本8... 目录一、Redis.conf 是什么?二、命令行方式传参(适用于测试)三、运行时动态修改配置(不重启服务

MySQL DQL从入门到精通

《MySQLDQL从入门到精通》通过DQL,我们可以从数据库中检索出所需的数据,进行各种复杂的数据分析和处理,本文将深入探讨MySQLDQL的各个方面,帮助你全面掌握这一重要技能,感兴趣的朋友跟随小... 目录一、DQL 基础:SELECT 语句入门二、数据过滤:WHERE 子句的使用三、结果排序:ORDE

git stash命令基本用法详解

《gitstash命令基本用法详解》gitstash是Git中一个非常有用的命令,它可以临时保存当前工作区的修改,让你可以切换到其他分支或者处理其他任务,而不需要提交这些还未完成的修改,这篇文章主要... 目录一、基本用法1. 保存当前修改(包括暂存区和工作区的内容)2. 查看保存了哪些 stash3. 恢

Python中OpenCV与Matplotlib的图像操作入门指南

《Python中OpenCV与Matplotlib的图像操作入门指南》:本文主要介绍Python中OpenCV与Matplotlib的图像操作指南,本文通过实例代码给大家介绍的非常详细,对大家的学... 目录一、环境准备二、图像的基本操作1. 图像读取、显示与保存 使用OpenCV操作2. 像素级操作3.

IDEA实现回退提交的git代码(四种常见场景)

《IDEA实现回退提交的git代码(四种常见场景)》:本文主要介绍IDEA实现回退提交的git代码(四种常见场景),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1.已提交commit,还未push到远端(Undo Commit)2.已提交commit并push到

POI从入门到实战轻松完成EasyExcel使用及Excel导入导出功能

《POI从入门到实战轻松完成EasyExcel使用及Excel导入导出功能》ApachePOI是一个流行的Java库,用于处理MicrosoftOffice格式文件,提供丰富API来创建、读取和修改O... 目录前言:Apache POIEasyPoiEasyExcel一、EasyExcel1.1、核心特性