Git 入门精讲

我们为什么要学习git?

就当下的发展而言,只要你从事开发就一定会接触git。作为最强大的分布式版本控制器,git 与 svn 有着本质上的区别。

Git是一种分布式版本控制系统,每个开发者都可以在本地维护完整的代码库,可以离线工作并提交代码。
SVN是一种集中式版本控制系统,所有代码都保存在中央服务器上,开发者需要与服务器进行交互才能进行代码管理。

/分支管理性能历史记录开发
GitGit鼓励频繁地创建和合并分支,使得多个功能可以同时进行开发,而不会相互干扰使用了一种快照机制,每次提交都会创建一个文件的完整副本,操作速度非常快,并且占用存储空间较小保留了完整的代码历史记录,包括每次提交的内容、时间和作者等信息由于分布式特性,开发者可以在自己的本地分支上进行自由的实验和开发,不会影响到其他人的工作
SVN分支管理相对较为繁琐,需要手动创建和合并分支记录文件的差异,操作速度较慢,同时占用的存储空间更大有类似的功能,但是需要与中央服务器进行交互SVN的集中式特性限制了开发者的自由度,需要与服务器进行交互

总的来说,Git更适合具有高度分散、并行开发的项目,尤其是开源项目。SVN更适合较小规模的团队,或者需要严格控制代码访问权限的项目。选择Git还是SVN取决于项目的规模、开发模式和需求。

git 的优势包括但不仅限于以下几点:高效的分支管理、快速而便捷、强大的协作功能。

Git以命令行工具的形式提供,同时也有许多可视化工具和集成开发环境(IDE)的插件支持,使得使用Git更加方便。它广泛应用于软件开发、版本管理、代码托管等领域,它是目前最流行的版本控制系统之一。

Git是一个开源的版本控制系统,它是由Linux的创始人Linus Torvalds在2005年创建的。Git的主要目标是处理大型项目的高效管理。



本章主要教大家如何注册并使用git,我选择用命令行拆解步骤,这是为了方便大家理解底层交互。

作者:我不是费圆
概述:适用于git初学者及一般使用者,阅读本文能略微提升你对git的理解

以码云为例:https://gitee.com/
先注册账号
在这里插入图片描述
在这里插入图片描述
公钥的生成方法请点击“怎样生成公钥”
打开下面的文件目录,右键单击id_rsa.pub选择记事本打开,复制全文
在这里插入图片描述
在这里插入图片描述
添加公钥的目的是让git认识这台计算机,在提交信息时区分贡献者,
多台计算机也可以共用同一套公钥
在这里插入图片描述
在这里插入图片描述
创建完成以后复制仓库地址
在这里插入图片描述
打开cmd,进入到项目文件夹下
git init
初始化git 仓库

git remote add 粘贴地址
配置远程仓库,仓库名默认为 origin

git remote -v
查询远程仓库列表(有两条代表添加成功)

在这里插入图片描述
一条是fetch获取地址,另一条是push推送地址
fetch地址的作用:将远程仓库的分支和推送信息更新到本地
push地址的作用:用来推送或更新项目中的更改

git config --global user.name "kaixin"
git config --global user.email "21577...@qq.com"
配置标识信息

git status
查看本地文件状态
在这里插入图片描述
有红色文件名,意为:工作区有更改,需要暂存以防止丢失
有绿色文件名:意为:暂存区有更改,需要提交到本地仓库

git add .
将工作区的修改提交到暂存盘

git commit -m “简述”
将暂存盘里的更改提交到本地仓库

此时你git push 是推送不了的,会报如下信息:
在这里插入图片描述
它说:你还未跟踪远程地址,请执行以下命令设置默认跟踪地址
因为remote 可以配置多个远程仓库,即一个项目指向多个仓库
它不知道你要将更改推送到哪一个仓库,需要你告诉他
git push -u origin master
push 推送
-u 设为默认仓库
origin 仓库名
master 分支名
在这里插入图片描述
如果你的项目文件较多,此时推送可能会卡住
Ctrl + c 停止

在项目根目录下创建文件,全名为:
.gitignore
在这里插入图片描述
这类文件没有具体文件名,后缀即为名称
打开此文件,写入

.DS_Store
node_modules/
dist/
dist.*
**/*.log
.vscode
*.local

这里写入的字符作为文件名或文件夹名称被git 过滤
不会被提交到本地仓库,也不会被推送到远程
dist/ ☞ 文件夹及所有子文件
*.log ☞ 所有以.log 作为后缀的文件

保存以后
git add . 暂存
git commit -m “gitignore-config” 提交
git push 推送

你的远程仓库中就生成了如下内容
在这里插入图片描述
为本项目添加成员,不同的角色会赋予他不同的权限。如图所示:
在这里插入图片描述
仓库成员首次使用码云gitee,也要配置公钥(公钥的生成方法请看前半部分)。
其次本地公钥 要与 线上公钥保持一致。
在这里插入图片描述
仓库成员复制仓库地址,cmd输入
git clone 仓库地址 仓库别名(可省略不写)
如:git clone https://gitee.com/avec-vous/shu-hai.git
克隆时得到的代码是默认分支上最新的

git pull origin master
拉取指定仓库,指定分支上的代码

如果git push -u 配置过默认推送地址
可以直接使用git pull

git status 查看工作区状态
在这里插入图片描述
未暂存的文件是红色,未提交的文件是绿色

本章到此结束
转载要注明出处哦!


推荐阅读
Git 基础命令与事件详解(基础版)

推荐下载
从 0 到 10 的 Git版本控制器入门精讲
配合Git flow 流程使用的git 操作命令指南

在这里插入图片描述
“我仍认为我们接受高等教育的目的是帮助我们的家乡摆脱贫困,而不是摆脱我们贫困的家乡。生如蝼蚁当有鸿鹄之志,为天地立心,为生民立命,为往圣继绝学,为万世开太平。”

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

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

相关文章

c++ 加密与解密代码(普通加密 + 凯撒加密 + 图灵来了都解不开的加密)

当你和你的好朋友聊天的时候,你们的聊天内容很容易就被看出来,那么小天狼星这边可以给到一些建议~~ 一、用另一种语言 通常来说,使用除中文和其他常用语言外的语言是一个优秀的选择! 例如:乌伯克语、阿亚帕涅科语。 …

智能泊车,再上热搜

编者按:相比于行车,低速可控场景,更有利于泊车功能快速迭代。同时,对于部分消费者来说,泊车智能化也是加分项。 智能泊车赛道,正在重新成为各路势力争夺的焦点。而上一次“高潮”,要追溯到2018年…

开源客户沟通平台Chatwoot账号激活问题

安装docker docker-compose 安装git clone https://github.com/chatwoot/chatwoot 下载之后根目录有一个docker-compose.production.yaml将其复制到一个目录 重命名 docker-compose.yaml 执行docker-compose up -d 构建 构建之后所有容器都安装好了 直接访问http://ip:3…

护眼台灯怎么选——明基、书客、孩视宝实测横评

最近护眼台灯的热度真是不小,许多博主纷纷推荐。考虑到孩子即将放寒假,市场上的产品也是五花八门,于是我决定认真研究一下,找出其中的水货和宝藏产品。我挑选了市场上口碑较好的3款产品进行深入评估,主要从照度、显色指…

Revit二次开发 设置材质

设置此处材质,需要在材质浏览器中创建材质,根据材质名字设置此材质。 代码如下: Material material new FilteredElementCollector(doc).OfClass(typeof(Material)).FirstOrDefault(x > x.Name "窗框") as Material; Element…

如何利用streamlit 將 gemini pro vision 進行圖片內容介紹

如何利用streamlit 將 gemini pro vision 進行圖片內容介紹 1.安裝pip install google-generativeai 2.至 gemini pro 取 api key 3.撰寫如下文章:(方法一) import json import requests import base64 import streamlit as st 讀取圖片檔案,並轉換成 Base64 編…

Android SeekBar 进度条圆角

先看下效果图&#xff1a; 之前&#xff1a; 优化后&#xff1a; 之前的不是圆角是clip切割导致的 全代码&#xff1a; <SeekBarandroid:layout_width"188dp"android:layout_height"wrap_content"android:background"null"android:focusa…

风速预测 | Python基于CEEMDAN-CNN-Transformer+ARIMA的风速时间序列预测

目录 效果一览基本介绍程序设计参考资料 效果一览 基本介绍 CEEMDAN-CNN-TransformerARIMA是一种用于风速时间序列预测的模型&#xff0c;结合了不同的技术和算法。收集风速时间序列数据&#xff0c;并确保数据的质量和完整性。这些数据通常包括风速的观测值和时间戳。CEEMDAN分…

使用Spring Boot实现基于HTTP的API

Spring Boot是一个用于简化Spring应用程序开发的框架&#xff0c;它提供了一系列的开箱即用的功能&#xff0c;使得快速构建RESTful Web服务和基于HTTP的API变得简单。以下是使用Spring Boot实现基于HTTP的API的步骤&#xff1a; 添加依赖&#xff1a;在Maven项目中&#xff0c…

企业能源消耗监测管理系统是否可以做好能源计量与能耗分析?

能源消耗与分析是能源科学管理的基础&#xff0c;也可促进能源管理工作的改善&#xff0c;在企业中能源管理系统的作用也愈加重要。 首先&#xff0c;能源计量是能源管理的基础&#xff0c;通过能源精准计老化&#xff0c;容易出现测量设备不准确以及其他一些人为因素原因导致…

pve7.x、8.x版本一键升级、换源、优化工具脚本推荐

每次安装完pve之后都需要、换各种debain源、pve源、lxc源等、去掉弹窗、合并local-lvm等一系列的工作。还有玩硬件直通的优化。 偶然发现网上有大佬编写的一键脚本&#xff0c;pve_source 官网地址pve_source - X86派 - 迷你硬件玩家集中地 需要注册登录后能看到最新的地址 …

Oracle BIEE 示例(一)数据透视表2

1 背景 版本:BIEE 12C 视图:数据透视表 实现内容(顺序与具体内容不一致): 2 空列显示(方法一) 2.1 问题 列为空时,标题栏不显示信息。 2.2 期望 即使数据为空,也要显示列名。 2.3 官方资料 2.3.1 操作步骤 2.3.1.1 要在分析级别关闭空值隐藏,请执行以下操作…

操作无法完成,因为文件已在Windows资源管理器中打开,如何解决?以及如何将哔哩哔哩下载好的视频导出到电脑中播放?— 以vivo手机为例

前言 想删除流氓软件的时候&#xff0c;提示操作无法完成&#xff0c;因为文件已在Windows资源管理器中打开&#xff0c;但打开任务管理器&#xff0c;似乎又没有符合的正在执行的程序&#xff0c;更别说打开让人看到头疼的资源监视器了&#xff0c;本文将用一招解决如上问题 …

从一个main.cpp文件开始构建Qt项目【浅析】

目录 操作步骤 编译阶段 尝试运行 操作步骤 最初只有一个main.cpp文件。 然后在Qt的mingw命令行中进行以下操作&#xff1a; 这样就会在main.cpp的路径下生成一个.pro文件&#xff1a; 用QC打开后是这个样子&#xff1a; 所以在这里 qmake -project 的作用就是生成一个.…

【开源】基于JAVA语言的假日旅社管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 系统介绍2.2 QA 问答 三、系统展示四、核心代码4.1 查询民宿4.2 新增民宿评论4.3 查询民宿新闻4.4 新建民宿预订单4.5 查询我的民宿预订单 五、免责说明 一、摘要 1.1 项目介绍 基于JAVAVueSpringBootMySQL的假日旅社…

配置路由策略案例

知识改变命运&#xff0c;技术就是要分享&#xff0c;有问题随时联系&#xff0c;免费答疑&#xff0c;欢迎联系&#xff01; 厦门微思网络​​​​​​ https://www.xmws.cn 华为认证\华为HCIA-Datacom\华为HCIP-Datacom\华为HCIE-Datacom Linux\RHCE\RHCE 9.0\RHCA\ Oracle O…

1秒解决“整合磁盘时出错: 指定的虚拟磁盘需要进行修复”

引言 Linux初学者会时常报以下的错误&#xff0c;导致虚拟机打不开 原因 总的来说&#xff0c;就是没有正常关闭虚拟机导致的虚拟磁盘 (.vmdk)本身有一个磁盘保护机制&#xff0c;为了防止多台虚拟机同时访问同一个虚拟磁盘 (.vmdk)带来的数据丢失和性能削减方面的隐患&#…

将AWS iot消息数据发送Kinesis Firehose Stream存向S3

观看此文章之前&#xff0c;请先学习AWS iot的数据收集&#xff1a; 使用Linux SDK客户端向AWS Iot发送数据-CSDN博客 1、工作原理&#xff1a; 1.1 规则 规则可让您的设备与 AWS 服务进行交互。分析规则并根据物品发送的消息执行操作。您可以使用规则来支持任务&#xff0…

C++类和对象(上)

✨Blog&#xff1a;&#x1f970;不会敲代码的小张:)&#x1f970; &#x1f251;推荐专栏&#xff1a;C语言&#x1f92a;、Cpp&#x1f636;‍&#x1f32b;️、数据结构初阶&#x1f480; &#x1f4bd;座右铭&#xff1a;“記住&#xff0c;每一天都是一個新的開始&#x1…

(2)Elastix图像配准:参数文件(配准精度的关键)

文章目录 前言一、Elastix简介二、参数文件&#xff08;类型&#xff09;三、参数文件&#xff08;定义&#xff09;&#xff1a;由多个组件组成&#xff0c;每个组件包含多个参数。3.1、组件的相关参数3.2、图解组件3.2.1、图解 - 金字塔&#xff08;pyramid&#xff09;3.2.2…