Git版本管理

Git版本介绍

Git 是一个分布式版本控制系统,它被广泛用于协作软件开发和管理代码的变更。Git 的设计目标是为了处理速度快、灵活性强、数据完整性好的版本管理需求。以下是 Git 版本管理的详细介绍:

版本控制系统 (VCS):
Git 是一种版本控制系统,用于跟踪和管理文件的不同版本和变更历史。
版本控制系统允许开发人员协作,追踪文件的修改,回滚到以前的版本,并解决冲突。

分布式版本控制:
Git 是一种分布式版本控制系统,每个开发者都拥有完整的代码库的副本。
这使得在没有网络连接的情况下工作成为可能,并允许多个开发者并行工作而不受中央服务器的限制。

工作区、暂存区和仓库:
Git 有三个主要的概念:工作区(Working Directory)、暂存区(Staging Area)和仓库(Repository)。
工作区是项目文件夹中的实际文件,暂存区是一个中间区域,用于准备提交,仓库是包含完整版本历史的存储库。

提交(Commit):
提交是 Git 中保存代码变更的基本操作。
提交将修改从工作区保存到暂存区,然后将暂存区的内容添加到版本历史中。

分支(Branch):
分支是代码开发的不同路径,它们允许同时进行多个任务,而不会影响主要代码。
Git 允许创建、合并和删除分支,使得开发和测试更加灵活。

合并(Merge):
合并是将两个或多个分支的变更合并成一个新的分支或主分支的过程。
合并时可能会发生冲突,需要手动解决。

远程仓库(Remote Repository):
远程仓库是托管在网络上的 Git 仓库,如 GitHub、GitLab 或 Bitbucket。
开发者可以推送(push)本地变更到远程仓库,或者拉取(pull)远程仓库的变更到本地。

分支管理策略:
Git 允许使用不同的分支管理策略,如主分支开发、特性分支开发和发布分支管理,以满足不同的开发需求。

标签(Tag):
标签用于为代码库的特定版本创建有意义的名称,以便在未来轻松引用和查找。

历史查看和回滚:
Git 允许查看代码历史记录,包括每个提交的详细信息。
可以轻松地回滚到先前的版本,以解决问题或恢复旧的代码状态。

分布式开发:
Git 支持多人协作开发,多个开发者可以在不同的分支上工作,然后将其合并到共享的主分支中。

自动化工具和集成:
Git 可以与许多自动化工具和集成(如 CI/CD 工具)一起使用,以加速开发和部署流程。
总之,Git 是一种功能强大、高效的版本管理工具,它使开发者能够更好地协作、追踪代码变更并确保数据完整性,从而提高了软件开发的效率和质量。无论是个人项目还是大型团队,Git 都是一个不可或缺的工具。

Git安装

首先我们需要去 Git 官网下载对应系统的软件了,下载地址为 git-scm.com或者gitforwindows.org,或者阿里镜像
在这里插入图片描述

这里可以选择合适的git版本;后面就是正常的安装流程,安装完毕之后在电脑菜单中会有Git文件里面都是Git文件在这里插入图片描述

Git使用

首先前往Gitee官网,登录账号
gitee官网
在这里插入图片描述

当登陆完成后我们就会进入首页,在首页的右上方有一个+号在这里插入图片描述在这里插入图片描述点击新建仓库
在这里插入图片描述然后新建仓库

在点击新建仓库后,我们取一个新的仓库名字。如果你取的名字之前取过,那么就会出现仓库命名冲突,然后出现以下情况。这个时候我们需要换一个名字,并且设置一个路径(这个路径是将来你的资源链接后面的路径,建议取一个和上传的文件相关的名字,路径必须使用英文)
在这里插入图片描述以上就是仓库的操作

上传文件

首先选择一个文件,进入文件根目录,鼠标右击,点击Open Git Bash here,进入git命令行:

Git基本操作

创建本地仓库git init
项目根目录所有文件添加至本地仓库git add .
为本次添加设置版本号git commit -m “wdad”
查看本地仓库关联的远程仓库:git remote -v
本地仓库关联远程仓库git remote add origin 远程仓库地址
本地仓库删除关联的远程仓库git remote remove origin
本地仓库推送至远程仓库git push -u origin master
从本次仓库关联的远程仓库下拉git pull

这些就是Git版本管理上传文件的基本命令

运行Git命令

当我们执行 git init 命令时,Git 会在当前目录下创建一个名为 .git 的隐藏文件夹,这个文件夹中包含了 Git 仓库所需的所有信息。同时,Git 也会为我们自动创建一个 master 分支。
在执行 git init 命令后,我们可以将项目中的文件添加到 Git 仓库中进行版本控制。接下来,我会介绍一些常用的 git 命令行操作:

git add <file>:将指定的文件添加到暂存区,准备提交;
git commit -m "<message>":将暂存区中的文件提交到本地仓库,同时可以附加提交信息;
git status:查看当前仓库的状态,显示有变动的文件;
git log:查看提交历史,显示所有的提交记录;
git diff <file>:比较工作区中的文件和暂存区或本地仓库中的文件的差异;
git branch:显示当前仓库的所有分支;
git checkout <branch>:切换到指定的分支;
git merge <branch>:合并指定分支到当前分支;
git push origin <branch>:将本地分支推送到远程仓库;
git pull origin <branch>:从远程仓库拉取最新的代码到本地分支。

运行Git命令可能会出现的报错

在使用 git init 命令进行版本控制时,可能会出现以下一些常见问题:

已存在的Git仓库: 如果在当前目录下已经存在一个 .git 文件夹,则表示该目录已经是一个 Git 仓库。此时再次执行 git init 命令会导致错误。需要注意在正确的目录中执行 git init。
权限问题: 在某些情况下,可能会因为权限问题而无法成功执行 git init 命令。这通常发生在你没有足够的权限在当前目录下创建文件或文件夹。确保你有足够的权限执行该命令。
目录不存在: 如果你尝试在一个不存在的目录中执行 git init 命令,Git 会报错并指示找不到该目录。请确保你在一个存在的目录中执行命令。
已存在的文件冲突: 如果当前目录下存在与 .git 文件夹同名的文件,如 file.git,则 git init 命令将会失败。确保当前目录下没有与 .git 同名的文件。
远程仓库关联: git init 只是用于初始化本地仓库,如果你想要与远程仓库进行交互,还需要关联远程仓库。可以使用 git remote add origin <remote-url> 命令将本地仓库与远程仓库进行关联。

如何解决问题

已存在的Git仓库: 如果当前目录下已经存在一个 Git 仓库,并且你想重新初始化一个新的仓库,可以先将旧的 .git 文件夹删除,然后再执行 git init 命令来初始化新的仓库。
权限问题: 当遇到权限问题时,可以尝试使用管理员身份或超级用户执行 git init 命令。如果你无法获得足够的权限,可以与系统管理员或拥有权限的人员进行协商和寻求帮助。
目录不存在: 如果目录不存在,可以先创建目录,然后在新创建的目录中执行 git init 命令。
已存在的文件冲突: 如果目录中已经存在与 .git 同名的文件,可以尝试重命名或移动该文件,确保当前目录下没有与 .git 同名的文件,然后再执行 git init 命令。
远程仓库关联: 如果你希望与远程仓库进行交互,需要先关联远程仓库。可以使用 git remote add origin <remote-url> 命令将本地仓库与远程仓库进行关联。其中 <remote-url> 是远程仓库的 URL 地址。

git remote add origin 链接

然后当你提交完毕后项目之后就需要执行
在这里插入图片描述git push - u origin master 上传远程仓库

git push -u origin master命令用于将本地的代码变更上传到名为origin的远程仓库中的master分支。这个命令的作用是将您在本地做出的代码更改同步到远程仓库,以便其他开发者可以获取最新的代码。

具体来说,这个命令会将本地仓库中的master分支的提交推送到远程仓库中的master分支。使用-u选项将本地分支与远程分支相关联,这样在以后的推送中,您只需简单地执行git push即可。

这段命令并不是必须的,它只是用于配置默认的上游分支,并关联本地分支和远程分支的关系。一旦完成了这个设置,以后再执行git push命令时,Git会自动将本地分支的更改推送到关联的远程分支。

如果您在使用Git时,已经设置了正确的远程仓库地址并克隆了该仓库,那么执行git push命令就足够将资源成功上传到Gitee(或其他远程仓库)上了。命令中的-u origin master部分只是帮助您建立起本地分支和远程分支的追踪关系,以便以后更方便地进行推送操作。

git push - u origin master 上传远程仓库

git push -u origin master命令用于将本地的代码变更上传到名为origin的远程仓库中的master分支。这个命令的作用是将您在本地做出的代码更改同步到远程仓库,以便其他开发者可以获取最新的代码。

具体来说,这个命令会将本地仓库中的master分支的提交推送到远程仓库中的master分支。使用-u选项将本地分支与远程分支相关联,这样在以后的推送中,您只需简单地执行git push即可。

这段命令并不是必须的,它只是用于配置默认的上游分支,并关联本地分支和远程分支的关系。一旦完成了这个设置,以后再执行git push命令时,Git会自动将本地分支的更改推送到关联的远程分支。

如果您在使用Git时,已经设置了正确的远程仓库地址并克隆了该仓库,那么执行git push命令就足够将资源成功上传到Gitee(或其他远程仓库)上了。命令中的-u origin master部分只是帮助您建立起本地分支和远程分支的追踪关系,以便以后更方便地进行推送操作。

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

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

相关文章

湖南省副省长秦国文一行调研考察亚信科技

9月5日&#xff0c;湖南省人民政府党组成员、副省长秦国文一行到亚信科技调研考察&#xff0c;亚信科技高级副总裁陈武主持接待。 图&#xff1a;双方合影 在亚信科技创新展示中心&#xff0c;秦国文了解了亚信科技在5G、算力网络、人工智能、大数据等前沿领域的创新探索&…

冠达管理:股票退市整理期?

近些年来&#xff0c;随着我国股市的发展&#xff0c;股票市场的出资者逐渐增多。但在出资过程中&#xff0c;退市股票的问题也成为了备受重视的论题。那么&#xff0c;股票退市收拾期到底是什么&#xff1f;如何应对退市股票&#xff1f; 首要&#xff0c;什么是股票退市收拾…

2023京东医疗保健器械行业数据分析(京东数据分析平台)

随着人们对自身健康的重视程度不断加深&#xff0c;当前市场中各类对疾病具有诊断、预防、监护、治疗或者缓解的医疗保健仪器越来越受到消费者的关注。 根据鲸参谋电商数据分析平台的相关数据显示&#xff0c;今年7月份&#xff0c;京东平台医疗保健仪器的销量为950万&#xf…

SpringCloud(34):Nacos服务发现

1 从单体架构到微服务 1.1单体架构 Web应用程序发展的早期,大部分web工程师将所有的功能模块打包到一起并放在一个web容器中运行,所有功能模块使用同一个数据库,同时,它还提供API或者UI访问的web模块等。 尽管也是模块化逻辑,但是最终它还是会打包并部署为单体式应用,这…

【HTML5高级第三篇】drag拖拽、音频视频、defer/async属性、dialog应用

文章目录 一、拖拽事件1.1 拖拽事件1.2 案例&#xff1a;拖拽丢弃图片 二、音频和视频三、defer 与 async 属性3.1 概述3.2 示例一&#xff1a;3.3 示例二&#xff1a; 四、dialog 元素 一、拖拽事件 原生JavaScipt案例合集 JavaScript DOM基础 JavaScript 基础到高级 Canvas…

React 全栈体系(四)

第二章 React面向组件编程 六、组件的生命周期 1. 效果 需求:定义组件实现以下功能&#xff1a; 让指定的文本做显示 / 隐藏的渐变动画从完全可见&#xff0c;到彻底消失&#xff0c;耗时2S点击“不活了”按钮从界面中卸载组件 <!DOCTYPE html> <html lang"e…

elasticsearch的索引库操作

索引库就类似数据库表&#xff0c;mapping映射就类似表的结构。我们要向es中存储数据&#xff0c;必须先创建“库”和“表”。 mapping映射属性 mapping是对索引库中文档的约束&#xff0c;常见的mapping属性包括&#xff1a; type&#xff1a;字段数据类型&#xff0c;常见的…

大数据课程K18——Spark的ALS算法与显式矩阵分解

文章作者邮箱:yugongshiye@sina.cn 地址:广东惠州 ▲ 本章节目的 ⚪ 掌握Spark的ALS算法与显式矩阵分解; ⚪ 掌握Spark的ALS算法原理; 一、ALS算法与显式矩阵分解 1. 概述 我们在实现推荐系统时,当要处理的那些数据是由用户所提供的自身的偏好数据,这些…

k8s node环境部署(三)

1、添加node1、node2环境 前面配置master环境的截图最后一段 复制下来 分别在node主机执行 kubeadm join 192.168.37.132:6443 --token p5omh3.cqjqt8ymrwkdn2fc \ --discovery-token-ca-cert-hash sha256:608a1cbadd060cfdeac2fae84c19609061b750ab51bf9a19887ff7ea…

Ubuntu之apt-get系列--安装JDK8--方法/教程

原文网址&#xff1a;Ubuntu之apt-get系列--安装JDK8--方法/教程_IT利刃出鞘的博客 简介 本文介绍如何在Ubuntu下安装JDK8。 验证是否安装 可以通过如下命令判断系统是否有安装ssh服务&#xff1a; 命令 java -version 结果 如上所示&#xff0c;表示还没有安装。 查看…

实训三:多表查询 - 大学数据库创建与查询实战

大学数据库创建与查询实战 第1关&#xff1a;数据库表设计任务描述相关知识大学数据库的整体设计教师信息表&#xff08;instructor&#xff09;开课信息表&#xff08;section&#xff09; 编程要求测试说明参考代码 第2关&#xff1a;查询&#xff08;一&#xff09;任务描述…

[虚幻引擎插件介绍] DTGlobalEvent 蓝图全局事件, Actor, UMG 相互回调,自由回调通知事件函数,支持自定义参数。

本插件可以在虚幻的蓝图 Actor&#xff0c; Obiect&#xff0c;UMG 里面指定绑定和执行消息&#xff0c;可带自定义参数。 参数支持 Bool&#xff0c;Byte&#xff0c;Int&#xff0c;Int64&#xff0c;Float&#xff0c;Name&#xff0c;String&#xff0c;Text&#xff0c;Ve…

Ubuntu 20.04 LTS 安装Kubernetes 1.26

1、环境配置 (1)添加主机名称解析记录 cat > /etc/hosts << EOF 192.168.44.200 master01 master01.bypass.cn 192.168.44.201 node01 node01.bypass.cn 192.168.44.202 node02 node02.bypass.cn EOF(2)禁止K8s使用虚拟内存 swapoff -a sed -ri s(.*swap.*)#\1…

自然语言处理:提取长文本进行文本主要内容(文本意思)概括 (两种方法,但效果都一般)

本文主要针对长文本进行文本提取和中心思想概括&#xff0c;原文档放在了附件里面&#xff1a;<科大讯飞公告> -----------------------------------方法一&#xff1a;jieba分词提取文本&#xff08;句子赋分法&#xff09;------------------------- 1、首先导入相关…

方向介绍:基于深度学习的轨迹预测

方向介绍&#xff1a;基于深度学习的轨迹预测 文章目录 方向介绍&#xff1a;基于深度学习的轨迹预测问题定义典型方法挑战未来展望参考 基于深度学习的轨迹预测是一种利用神经网络模型来预测移动物体的未来位置和运动状态的技术。这种技术在许多领域都有重要的应用&#xff0c…

Nosql数据库服务之redis

Nosql数据库服务之redis 一图详解DB的分支产品 Nosql数据库介绍 是一种非关系型数据库服务&#xff0c;它能解决常规数据库的并发能力&#xff0c;比如传统的数据库的IO与性能的瓶颈&#xff0c;同样它是关系型数据库的一个补充&#xff0c;有着比较好的高效率与高性能。 专…

AlexNet 06

一、发展 1989年&#xff0c;Yann LeCun提出了一种用反向传导进行更新的卷积神经网络&#xff0c;称为LeNet。 1998年&#xff0c;Yann LeCun提出了一种用反向传导进行更新的卷积神经网络&#xff0c;称为LeNet-5 AlexNet&#xff0c;VGG&#xff0c;GoogleNet&#xff0c;R…

运维监控系统PIGOSS BSM 业务监控 大屏展现解析

“业务大屏”是 PIGOSS BSM&#xff08;IT运维监控工具&#xff09;的特色功能之一&#xff0c;旨在提供综合而直观的业务监控视图。该功能主要由三个组成部分构成&#xff1a;业务健康度雷达图、业务状态矩阵和多趋势对比图。 下面将对每个部分进行详细介绍&#xff1a; 业务健…

支持向量机

一、支持向量机 1. 基本概念 1&#xff09;什么是支持向量机 支持向量机&#xff08;Support Vector Machines&#xff09;是一种二分类模型&#xff0c;在机器学习、计算机视觉、数据挖掘中广泛应用&#xff0c;主要用于解决数据分类问题&#xff0c;它的目的是寻找一个超平…

CDN+GitHub搭建图床

前期搭建博客的时候&#xff0c;老是遇到图片无法加载、加载出错等等问题&#xff0c;很是烦恼。于是想搭建一个图床&#xff0c;进行个人博客图片的存储、显示使用。 ​ 利用GitHubjsDelivrPicGo搭建免费图床&#xff0c;CDN图床就是这么朴实无华&#xff0c;是基于免费CDN与免…