当前位置: 首页 > news >正文

【Git】安装和常用命令的使用与讲解及项目搭建和团队开发的出现的问题并且给予解决

目录

Git的简介

介绍

 Git的特点及概念

Git与SVN的区别

图解

​编辑 命令使用

安装

 使用前准备

搭建项目环境

​编辑 团队开发


Git的简介

介绍

Git 是一种分布式版本控制系统,是由 Linux 之父 Linus Torvalds 于2005年创建的。Git 的设计目标是为了更好地管理 Linux 内核代码的开发。相较于其他版本控制系统,如 SVN,Git 有更快的速度、更强大的分支管理功能、更好的适应性和更好的安全性。Git 现在已成为最流行的版本控制系统之一,广泛应用于软件开发和团队协作。

 Git的特点及概念

分布式版本控制: Git 是分布式的,这意味着每个开发人员都拥有完整的代码库的副本,而不是依赖于集中式服务器。这使得开发人员能够独立工作,并在没有网络连接的情况下进行版本控制操作。

代码仓库: Git 使用仓库来存储代码和版本历史。一个仓库包含所有的代码、分支、提交历史以及配置信息。

提交(Commit): 提交是 Git 中的基本操作,它代表了代码库的一个快照,包括一组修改和相关的提交信息。提交是不可更改的,每个提交都有一个唯一的哈希标识。

分支(Branch): 分支是指代码库中的不同开发线,允许开发人员在不影响主要代码线的情况下进行独立的开发。Git 的分支操作非常高效,允许轻松创建、合并和删除分支。

合并(Merge): 合并是将一个分支的更改合并到另一个分支的操作。Git 提供了多种合并策略,以确保代码被合并到目标分支时不会引入冲突。

远程仓库(Remote Repository): 远程仓库是分布式团队协作的关键,它允许开发人员协同工作、共享代码,并在不同的位置之间同步代码。

克隆(Clone): 克隆是从远程仓库创建一个本地副本的过程。通过克隆,开发人员可以开始在自己的计算机上工作。

拉(Pull)和推(Push): 拉操作用于将远程仓库的更改同步到本地仓库,而推操作用于将本地更改上传到远程仓库。

标签(Tag): 标签是对特定提交的符号引用,通常用于标识版本或重要的里程碑。
 

Git与SVN的区别

Git 和 SVN 是两种不同的版本控制系统,虽然它们的目的类似,但有很多区别。以下是其中一些主要区别

  1. 分布式 vs 集中式:Git 是一种分布式版本控制系统,每个人都可以获取完整的代码副本并在本地工作,因此即使没有网络连接,也可以持续工作。而 SVN 是一种集中式版本控制系统,每个开发者只能获取代码的一个副本,需要访问集中式服务器才能进行工作。

  2. 分支管理:Git 的分支管理非常强大且易于操作,可以轻松地在本地创建、切换、合并和删除分支。而 SVN 的分支管理相对较弱,需要在服务器端进行操作,因此需要更多的权限。

  3. 速度:Git 的速度比 SVN 快得多,因为 Git 使用本地硬盘缓存,而 SVN 每次操作都需要从服务器获取数据。

  4. 可用性:Git 可以在 Windows、Linux 和 Mac OS X 等多个操作系统平台上运行。而 SVN 的 Windows 支持相对较差,通常需要依赖第三方工具。

  5. 数据完整性:Git 将数据保存在一个以 SHA1 校验和为基础的内容寻址文件系统中,从而可以防止数据损坏和篡改。而 SVN 依赖于中央服务器来保护数据完整性。

总的来说,Git 功能更加强大且灵活,适用于需要高效协作和分支管理的团队开发;而 SVN 则更适合单个开发者或较小的团队,不需要太多分支管理功能。 

图解

 命令使用

安装

在Git官网进行下载,( 下载2.2以上的版本 )

Git - Downloads

 进入官网点击Windows 

点击64下载

 

接下来我们开始安装,没有效果图显示的话,直接就默认跳过就行 

 

 

 

 

 

 

 

 使用前准备

首先我们需要有一个gitee的账号,前往gitee的官网进行注册 

Gitee - 基于 Git 的代码托管和研发协作平台

创建账号之后创建一个仓库。点击右上角的+号,并且点击新建仓库 

 

 

创建完成后,会有简易的命令行入门教程,如:Git 全局设置,创建 git 仓库,已有仓库?

将这些命令全部复制到一个文本文件中进行保存。

 之后在本地的目录中,创建一个工作区间,来对项目的开发,在这个工作区间中,鼠标右键

点击Git Bash Here ,打开命令窗口。

 

打开窗口后,分别将Git 全局设置的命令输入其中分别执行一次。 

 

执行完后,查看本地用户下有没有 .gitconfig 的这个文件,打开看看,和我们的信息是一样的

就OK了

 

之后根据 创建 git 仓库的命令,先创建仓库,在进入仓库,进入后将该仓库标记为Git管理的仓库 

 

 

之后进行根据创建 git 仓库的命令,创建一个文件,再将文件给Git管理,之后查看状态

看到如图所示说明已经给Git管理,如果是红色说明没有。

 

进行根据命令,上传到本地仓库并且给个备注,再将本地仓库和远程仓库进行绑定,绑定后,再将文件上传到远程仓库 

本地创建绑定远程仓库时,会要输入Git账号和密码。 

 

 再到创建仓库完成的页面刷新,就会看到所上传的文件

搭建项目环境

将项目的文件夹复制到Git工作区间,再将这个项目给Git管理,并且仓库状态。

git add .  这个命令是将该文件夹下所有文件给Git管理

 

将项目上传到本地,并且给与备注,再将项目上传到远程仓库。 

 团队开发

项目已经在远程仓库部署好了,现在比如 : 开发团队中其他人需要获取其中的项目。

在这个需要获取其中项目的人中的工作区间,一样的,先点击Git Bash Here ,打开命令窗口。

在命令窗口中输入克隆远程仓库中使用文件的命令 : 

git clone  https://gitee.com/Jun-san/jun123.git

上面的网址是远程仓库的地址,在右上角有克隆的网址,谁需要就复制给谁即可,再加上

命令执行即可拿到所有的文件。

 

执行完成之后可以进入目录中查看到所有的文件

 

 okok,今天就到这里结束了,咱们下次再见,下班下班!!!!!!!!!!!!!!

相关文章:

【Git】安装和常用命令的使用与讲解及项目搭建和团队开发的出现的问题并且给予解决

目录 Git的简介 介绍 Git的特点及概念 Git与SVN的区别 图解 ​编辑 命令使用 安装 使用前准备 搭建项目环境 ​编辑 团队开发 Git的简介 介绍 Git 是一种分布式版本控制系统,是由 Linux 之父 Linus Torvalds 于2005年创建的。Git 的设计目标是为了更好地管…...

Python进行数据可视化,探索和发现数据中的模式和趋势。

文章目录 前言第一步:导入必要的库第二步:加载数据第三步:创建基本图表第四步:添加更多细节第五步:使用Seaborn库创建更复杂的图表关于Python技术储备一、Python所有方向的学习路线二、Python基础学习视频三、精品Pyth…...

2023年中国自然语言处理行业研究报告

第一章 行业概况 1.1 定义 自然语言处理(Natural Language Processing,简称NLP)是一门交叉学科,它结合了计算机科学、人工智能和语言学的知识,旨在使计算机能够理解、解释和生成人类语言。NLP的核心是构建能够理解和…...

RISC-V与RISC Zero zkVM的关系

1. 引言 本文基本结构为: 编程语言背景介绍RISC-V虚拟机作为zkVM电路为何选择RISC-V? 2. 编程语言背景介绍 高级编程语言不专门针对某个架构,其便于人类编写。高级编程语言代码,经编译器编译后,会生成针对专门某架…...

20行JS代码实现屏幕录制

在开发中可能有遇到过屏幕录制的需求,无论是教学、演示还是游戏录制,都需要通过屏幕录制来记录和分享内容。一般在App内H5页基于客户端能力实现的较多,现在浏览器中的 MediaRecorder 也提供了这种能力。MediaRecorder 是一种强大的技术&#…...

基于springboot实现福聚苑社区团购平台系统项目【项目源码】

基于springboot实现福聚苑社区团购平台系统演示 Javar技术 Java是一种网络脚本语言,广泛运用于web应用开发,可以用来添加网页的格式动态效果,该语言不用进行预编译就直接运行,可以直接嵌入HTML语言中,写成js语言&…...

网际报文协议ICMP及ICMP重定向实例详解

目录 1、ICMP的概念 2、ICMP重定向 3、利用ICMP重定向进行攻击的原理 4、如何禁止ICMP重定向功能? 4.1、在Linux系统中禁用 4.2、在Windows系统中禁用 5、关于ICMP重定向的问题实例 VC常用功能开发汇总(专栏文章列表,欢迎订阅&#xf…...

前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(三)

知者乐水,仁者乐山。 XMLHttpRequest AJAX原理 - XMLHttpRequest 前面与服务器交互使用的不是axios吗? ajax并不等于axios 我们使用的axios的内部,实际上对XHR对象/原理 的封装 为什么还要学习ajax? ①在一些静态网站项目中…...

Android 12 S 系统开机流程分析 - SetupSelinux(二)

Android 12 S 系统开机流程分析-FirstStageMain(一) 本文接着上文开始讲解,上文中最后一步执行后会执行init启动过程中的第二步SetupSelinux(Selinux配置阶段),这样又会走到main.cpp中的main方法。 目录 1. SetupSelinux 1.1 …...

高速信号PCB布局怎么布?(电子硬件)

对于高速信号,pcb的设计要求会更多,因为高速信号很容易收到其他外在因素的干扰,导致实际设计出来的东西和原本预期的效果相差很多。 所以在高速信号pcb设计中,需要提前考虑好整体的布局布线,良好的布局可以很好的决定布…...

vue 子页面通过暴露属性,实现主页面的某事件的触发

目录 1.前言2.代码2-1 子页面2-2 主页面 1.前言 需求:当我在子页面定义了一个定时器,点击获取验证码,计时器开始倒计时,在这个定时器没有走完,退出关闭子页面,再次进入子页面,定时器此时会被刷…...

计算机丢失mfc140.dll是什么意思?附送修复教程

mfc140.dll是Microsoft Foundation Classes(MFC)库的一部分,是一种动态链接库(DLL)文件。MFC库是Microsoft提供的一种C编程框架,它为开发者提供了许多方便的工具和类,以简化Windows应用程序的开…...

R语言将向量横向转换为单行数据框,随后整合数量不确定的数据框

vector1 c(1, “karthik”, “IT”) names(vector1) c(“id”, “name”, “branch”) df data.frame(as.list(vector1)) print(df) 先给向量的元素命名,然后转换为列表,最后转换为数据框。 我的需求大概是这个样子:数量不确定的仅有单行…...

​怎么测试websocket接口

在部分业务中,我们需要使用长连接,我们可以使用http长连接或者websocket,开发结束后难免会遇到测试问题,这里推荐2个,一个是postman,一个是网站 postman 测试网站 测这边推荐测试网站,支持ws/w…...

21 移动网络的前世今生

1、移动网络的发展历程 发展过程就是:2G,3G,4G,5G的过程,用2G看txt,用3G看jpg,用4G看avi。 2、2G网络 手机本来是用来打电话的,不是用来上网的,所以原来在2G时代,上网使用的不是IP网络&#…...

里氏替换原则

定义:子类对象能够替换程序中父类对象出现的任何地方,并且*保证原来程序的逻辑行为不变及正确性不被破坏*。 public class Transporter {private HttpClient httpClient;public Transporter(HttpClient httpClient) {this.httpClient httpClient;}public Response…...

【JS】Chapter11-正则阶段案例

站在巨人的肩膀上 黑马程序员前端JavaScript入门到精通全套视频教程,javascript核心进阶ES6语法、API、js高级等基础知识和实战教程 (十一)正则&阶段案例 1. 正则表达式 1.1 介绍 正则表达式(Regular Expression&#xff0…...

跨时钟域(Clock Domain Crossing,CDC)

本文参考:http://t.csdnimg.cn/VHga2 【数字IC基础】跨时钟域(CDC,Clock Domain Crossing)_ReRrain的博客-CSDN博客 同步设计:所有设计使用同一时钟源,频率相位可预知。 异步设计:设计中有两…...

PTA古风排版

中国的古人写文字&#xff0c;是从右向左竖向排版的。本题就请你编写程序&#xff0c;把一段文字按古风排版。 输入格式&#xff1a; 输入在第一行给出一个正整数N&#xff08;<100&#xff09;&#xff0c;是每一列的字符数。第二行给出一个长度不超过1000的非空字符串&a…...

SQL 注入漏洞详解

SQL 注入漏洞详解 漏洞描述 sql注入漏洞是指恶意用户在应用与数据库交互的地方利用非法的操作获取数据库内容从以下两点分析: 没有对用户输入的数据进行充分的过滤和验证&#xff0c;导致一些用户利用此漏洞向数据库插入恶意sql语句非法请求数据库从而获得一些敏感数据在与数…...

react+taro 开发第五个小程序,解决拼音的学习

1.找一个文件夹 cmd 2.taro init 3.vscode 找开该文件夹cd help-letters 如&#xff1a;我的是(base) PS D:\react\help-letters> pnpm install 4.先编译一下吧。看下开发者工具什么反应。 pnpm dev:weapp 5.开始规则。我用cursor就是不成功。是不是要在这边差不多了&…...

LeetCode 高频 SQL 50 题(基础版)之 【子查询】· 上

题目&#xff1a;1978. 上级经理已离职的公司员工 题解&#xff1a; select employee_id from Employees where salary<30000 and manager_id is not null and manager_id not in (select distinct employee_id from Employees ) order by employee_id题目&#xff1a;626.…...

什么是 Ansible 主机和组变量

Ansible 是一款强大的自动化工具&#xff0c;可简化配置管理、应用程序部署和预配等 IT 任务。其最有价值的功能之一是能够定义变量&#xff0c;从而为不同的主机和组定制剧本。本文将解释 Ansible 中组变量和主机变量的概念&#xff0c;并通过实际示例说明它们的用法。 Ansib…...

让视觉基础模型(VFMs)像大语言模型(LLMs)一样“会思考”​

视觉检测器的演进&#xff1a;从 DETR 到 Grounding-DINO DINO-R1 的基础是 Grounding-DINO&#xff0c;而 Grounding-DINO 本身是一系列视觉检测器演进的结果。理解这个发展过程对掌握 DINO-R1 的核心技术至关重要。 DETR&#xff1a;用 Transformer 革新目标检测 在 DETR&…...

关于GitHub action云编译openwrt

特别声明:此教程仅你有成功离线编译的经验后,使用下列教程更佳 不建议没有任何成功经验的人进行云编译 1、准备工作 使用GitHub云编译模板 GitHub - jxjxcw/build_openwrt: 利用Actions在线云编译openwrt固件,适合官方源码,lede,lienol和immortalwrt源码,支持X86,电…...

【无人机】无人机UAV、穿越机FPV的概念介绍,机型与工具,证书与规定

【无人机】无人机UAV、穿越机FPV的概念介绍&#xff0c;机型与工具&#xff0c;证书与规定 文章目录 1、无人机的定义、概念、技术栈1.1 无人机的概念1.2 无人机技术&#xff08;飞控&#xff0c;动力&#xff0c;通信&#xff09; 2、无人机机型2.1 DJI无人机 &#xff08;航拍…...

十一、【ESP32开发全栈指南: TCP通信服务端】

一、TCP与UDP协议对比 1.1 基本特性比较 TCP(传输控制协议)和UDP(用户数据报协议)是两种最常用的传输层协议&#xff0c;它们在ESP32网络编程中都有广泛应用&#xff1a; 连接方式 TCP是面向连接的协议&#xff0c;通信前需要先建立连接(三次握手)UDP是无连接的协议&#xff…...

RocketMQ入门5.3.2版本(基于java、SpringBoot操作)

一、RocketMQ概述 RocketMQ是一款由阿里巴巴于2012年开源的分布式消息中间件&#xff0c;旨在提供高吞吐量、高可靠性的消息传递服务。主要特点有&#xff1a; 灵活的可扩展性 海量消息堆积能力 支持顺序消息 支持多种消息过滤方式 支持事务消息 支持回溯消费 支持延时消…...

交易所系统攻坚:高并发撮合引擎与合规化金融架构设计

交易所系统攻坚&#xff1a;高并发撮合引擎与合规化金融架构设计 ——2025年数字资产交易平台的性能与合规双轮驱动 一、高并发撮合引擎&#xff1a;从微秒级延迟到百万TPS 核心架构设计 订单簿优化&#xff1a;数据结构创新&#xff1a;基于红黑树与链表混合存储&#xff0c…...

OpenCV CUDA模块图像处理------图像融合函数blendLinear()

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 该函数执行 线性融合&#xff08;加权平均&#xff09; 两个图像 img1 和 img2&#xff0c;使用对应的权重图 weights1 和 weights2。 融合公式…...