Git【成神路】

目录

1.为啥要学git啊?😕😕😕

2.版本控制软件的基本功能 🤞🤞🤞

3.集中式版本控制 🤶🤶🤶  

4.分布式版本控制😎😎😎

 5.Git的下载与安装 😭😭😭

6.GitHubDesktop使用 😁😁😁😁

7.多人协作分支与合并😎😎😎

8.idea集成gitee 😕😕😕

8.1安装插件

8.2选择gitee 并登录

9.版本号🤞🤞🤞

10.git指令 😳😳😳

10.1仓库操作

10.2文件操作

10.3分支操作

10.4标签操作

10.5远程仓库


1.为啥要学git啊?😕😕😕

Git 是目前最流行的版本控制工具之一,它可以帮助开发团队更好地管理代码、协作开发、记录版本变化、合并代码等等。学习 Git 可以使你更好地参与到开源项目中,也可以提高团队协作的效率,更好地管理自己的代码库。

 

Git是一个分布式版本控制工具,通常用来对软件开发过程中的源代码文件进行管理。通过Git仓库来存储和管理这些文件,Git 仓库分为两种:

  • 本地仓库:开发人员自己电脑上的Git仓库
  • 远程仓库:远程服务器上的 Git 仓库 
  • commit:提交,将本地文件和版本信息保存到本地仓库
  • push:推送,将本地仓库文件和版本信息上传到远程仓库
  • pull:拉取,将远程仓库文件和版本信息下载到本地仓库 

2.版本控制软件的基本功能 🤞🤞🤞

  • 1.保存和管理文件
  • 2.提供客户端工具进行访问
  • 3.提供不同版本文件的比对功能

3.集中式版本控制 🤶🤶🤶  

  • 集中式版本控制,多人协作可能导致文件覆盖问题----文件冲突 
  • Visual SourceSafe美国微软公司出品的版本控制系统,简称VSS 集中式版本控制系统
  • 上锁解决~但效率较低

 

  •  Concurrent Versions System老牌的版本控制系统,它是基于客户端/服务器的行为使得其可容纳多用户,构成网络也很方便,简称为CVS 
  • Subversion开放源代码的版本控制系统,通过采用分支管理系统的高效管理,简而言之就是用于多个人共同开发同一个项目,实现共享资源,实现最终集中式的管理

规定约束,进行比对,记录下每次操作 ~如果对同一行操作依然冲突

4.分布式版本控制😎😎😎

分布式版本控制(Distributed Version Control,简称DVCS)是一种管理代码版本的方式,它与集中式版本控制(Centralized Version Control,简称CVCS)相比,分布式版本控制是在每个开发者本地都拥有完整的代码仓库(repository),而不是像集中式版本控制那样所有开发者都使用中央服务器上的代码仓库。

特点:

  1. 每个开发者都有一个完整的代码仓库,包含所有历史版本的代码库,不依赖于中央服务器,可在离线状态下进行开发。

  2. 开发者可以在本地进行代码的修改、提交、合并等操作,不需要等待中央服务器的响应。

  3. DVCS 支持分支(branch)管理,可以轻松地创建、合并分支,便于团队协作和业务流程控制。

  4. DVCS 提供了更完善的代码审核(code review)机制,开发者可以创建自己的分支,进行代码修改,在满足要求后提交到主干分支。

 5.Git的下载与安装 😭😭😭

下载地址:Git - Downloads (git-scm.com)

当时打不开,小张又找的安装包😭😭😭😭😭😭😭

6.GitHubDesktop使用 😁😁😁😁

  • 在仓库路径创建文件,会与.git进行比较,看是否存在 ~

  • 如果删除仓库路径中的文件,但是.git中没有被删除,也需要提交~

7.多人协作分支与合并😎😎😎

8.idea集成gitee 😕😕😕

8.1安装插件

8.2选择gitee 并登录

9.版本号🤞🤞🤞

Git版本号是由40个十六进制字符组成的字符串,通常被称为“SHA-1哈希值”。它是由Git版本控制系统为每个提交生成的唯一标识符,用于跟踪代码的历史和变化。

  • 1.避免合并时版本冲突
  • 2.定位仓库中文件的位置(前两位文件夹名,后面的是文件名)

在git自带的控制台可以查询文件信息

分支

git的三个区域

10.git指令 😳😳😳

10.1仓库操作

  • (先进入创建的文件夹) 通过命令,把这个目录变成git可以管理的仓库
git init 
  • 通过命令克隆远程仓库到本地 并重命名
git clone +远程仓库地址 新的文件名
  •  全局配置操作者信息
 git config --globle user.name xiaozhanggit config --globle user.email 31@qq.com

10.2文件操作

  • 查看暂存区的状态
git status

当添加文件工作区后,再次查询,会提示 Untracked files

  • 将文件添加到暂存区
git add b.txt

  • 将文件移缓存区移除到工作区 
git rm --cached 文件名
  • 将缓存区的文件添加到.git存储区域 
git commit -m 信息
  • 查看历史记录
git log   查看所有
git log --oneline 简化查询
  • 如果工作区的文件误删除了,可以把.git存储区的文件恢复
git restore 文件名
  • 如果工作区的文件误删了,又提交到了.git存储区,使用版本重置
  • 这种操作会导致误删除的操作丢失
git reset  --hard 上一个版本的序号id
  • 既可以恢复文件,也可以恢复误删除的操作
git revert 删除操作的序列号id

10.3分支操作

  • 先提交,才能创建分支
git branch 分支名称
  • 查看有多少个分支
git branch -v
  • 切换分支
git checkout 要切换的分支名称
  • 创建分支,并切换到该分支
git checkout -b 要创建并切换的分支名称
  • 删除分支
git branch -d 要删除的分支名称
  • 合并文件
master merge 要合并的分支名称

注意:合并后会出现文件冲突,需要手动解决,然后再次提交

10.4标签操作

  • 查看标签
git tag
  • 新增标签
git tag 标签名  要添加标签的序号id
  • 删除标签
git tag -d 标签名

10.5远程仓库

  • 上传到远程仓库
git push origin

这里的url使用的gitee中的SSH

当 push 到远程仓库时,会下面报错:

Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'gitee.com' (ED25519) to the list of known hosts.
git@gitee.com: Permission denied (publickey).
fatal: Could not read from remote repository.

 因为我们使用的是SSH,这种方式需要提供安全认证

  • 生成安全认证书 
ssh-keygen -t rsa -C SSH地址
  • 接着一直回车下去,然后在你的:C盘-用户-.ssh中有个id_rsa.pub,拷贝里面的所有然后到你的gittee

         再次 push 就会推送到远程仓库

  • 从远程拉取文件
git pull origin

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

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

相关文章

一款自动帮你生成UI界面和代码的AI神器

我的新书《Android App开发入门与实战》已于2020年8月由人民邮电出版社出版,欢迎购买。点击进入详情 只要描述你想要的UI是什么样的,它就能帮你生成,是不是很神奇? v0使用 AI 模型根据简单的文本提示生成用户界面和代码&#xff…

Android 13.0 SystemUI电池电量为0时延迟关机的解决方案

1.简述 在13.0系统rom定制化开发中,在系统开发中可能会遇到了在电池电量为0时这时未出现立即关机的情况,产生延时关机的问题,下面就来分析这个问题所产生的原因,然后解决这个问题 2.SystemUI电池电量为0延迟关机的核心代码 /frameworks/base/services/core/java/com/andr…

含光伏发电的变电站供电系统设计

摘要 面对全球日趋严重的能源危机问题,可再生能源的开发和利用得到了人们的高度重视。其中辐射到地球太阳能资源是十分富饶的,绿色清洁的太阳能不会危害我们的生存环境,因而受到了人们的广泛利用。光伏发电作为可再生能源被广泛的应用&#…

关于在PyTorch中使用cudnn.benchmark= True

关于在PyTorch中使用cudnn.benchmark True 在PyTorch中,cudnn.benchmark True是一个参数,用于启用或禁用cuDNN的基准测试模式。cuDNN是一个由NVIDIA开发的深度神经网络库,它为GPU提供了一个优化的计算接口。 基准测试模式是cuDNN的一个特性…

informer辅助笔记:utils/timefeatures.py

定义了一套与时间特征相关的类和函数,旨在从时间序列数据中提取有用的时间特征,以支持各种时间序列分析和预测任务 from typing import Listimport numpy as np import pandas as pd from pandas.tseries import offsets from pandas.tseries.frequenc…

2023.12.3 分布式SQL查询引擎-Presto

目录 1.Prosto简介 Apache Hadoop-MapReduce Apache Hive 2.Presto的优缺点 3.个人自用启动服务 个人自用启动服务 4.presto和hive的区别 5.presto优化 1.Prosto简介 Apache Hadoop-MapReduce 优点:统一、通用、简单的编程模型,分而治之思想处理…

利用STM32内置温度传感器实现温度监测系统

STM32微控制器是一款强大的嵌入式处理器,具有广泛的应用领域。其中,一些STM32微控制器内置了温度传感器,可以方便地实现温度监测功能。本文将详细介绍如何利用STM32内置温度传感器实现温度监测系统,并提供相应的示例代码。 一、硬…

【算法思考记录】力扣1423. 可获得的最大点数[Java, 滑动窗口]

Problem: 1423. 可获得的最大点数 date: “2023-12-03” 问题重述 正难则反,发挥逆向思维,因为最终无法选择的点数是一个连续区间,所以问题可转换成:在一个给定的数组中,我们需要找到移除长度为 n-k 的子数组后&#…

智慧灯杆系统平台架构设计需要考虑的几个要点

智慧灯杆是一种集成了各种先进技术的道路照明设施。它不仅提供照明服务,还可以具有物联网技术、视频监控、环境监测、广播通讯、无线网络覆盖等多种功能。这些智能功能可以通过互联网进行控制和管理,从而实现智慧城市的建设。智慧灯杆能够提升城市的智能…

Wpf 使用 Prism 实战开发Day07

待办事项页面设计 效果图: 一.布局设计 页面主要分上下布局&#xff0c;分2行进行设计&#xff0c;使用 Grid.RowDefinitions 将页面分上下2行 例如&#xff1a; <Grid.RowDefinitions><RowDefinition Height"auto"/><RowDefinition/> </Gri…

React基本知识点整理

React中引入样式的2种方式 1,内联样式 import React, { Component } from react export default class index extends Component {render() {return (<div><div style{{color:"red",fontSize:"18px"}}>内联样式</div></div>)} }…

Promise自定义封装

目录 Promise构造函数 then方法封装 catch方法封装 resolve方法封装 reject方法封装 all方法封装 race方法封装 这篇文章主要是介绍如何自己封装Promise构造函数以及其相应的方法。Promise是JS中的重点&#xff0c;很多的面试都会问到。因此需要对其有比较深入地认识。看…

创意项目开源,文生图、排序/优选等...,持续开源更新!!

热烈欢迎大家在git上star&#xff01;&#xff01;&#xff01;冲鸭&#xff01;&#xff01;&#xff01; 1.dalle1在厨房家具中文场景上训练。 GitHub - leeguandong/DALLE1: dalle1在中文家具场景的微调&#xff0c;效果并不好dalle1在中文家具场景的微调&#xff0c;效果…

【JavaSE】异常(学习笔记)

一、异常概述 异常&#xff1a;程序出错了 1、异常的分类 编译时异常&#xff1a;受检异常运行时异常&#xff1a;非受检异常 2、异常体系&#xff1a;Throwable Error&#xff1a;严重问题&#xff0c;不需要处理Exception&#xff1a;异常类&#xff0c;程序本身可以处理…

MYSQL报错 [ERROR] InnoDB: Unable to create temporary file; errno: 0

起因 服务器的mysql不支持远程访问&#xff0c;在修改完相关配置后重启服务出错。 2023-12-03T10:12:23.895459Z 0 [Note] C:\Program Files\MySQL\MySQL Server 5.7\bin\mysqld.exe (mysqld 5.7.22-log) starting as process 15684 ... 2023-12-03T10:12:23.908886Z 0 [Note…

Google Guava 事件总线工具使用详解

文章目录 事件总线特点使用 事件总线 Guava 事件总线&#xff08;EventBus&#xff09;是 Google Guava 库中的一个组件&#xff0c;用于实现发布-订阅模式的事件通信。它提供了一种简单而强大的方式&#xff0c;让不同的组件之间能够解耦、相互通信、完成事件处理。 特点 注…

C语言--每日选择题--Day33

第一题 1. 在以下给出的表达式中&#xff0c;与do-while(E)语句中的(E)不等价的表达式是&#xff08; &#xff09; A&#xff1a;(!E 0) B&#xff1a;(E > 0 || E < 0) C&#xff1a;(E 0) D&#xff1a;(E ! 0) 答案及解析 C 首先要知道(E)这个条件成立无非两种&…

nodejs基于vue的社区物业缴费报修管理系统7vwc6

运行软件:vscode 前端nodejsvueElementUi 语言 node.js 框架&#xff1a;Express/koa 前端:Vue.js 数据库&#xff1a;mysql 开发软件&#xff1a;VScode/webstorm/hbuiderx均可 数据库用MySQL,后台用vue框架 基本要求&#xff1a; 1. 对项目进行详细实际的需求分析。 2. 在网…

前端面试灵魂提问(1)

1.自我介绍 2.在实习中&#xff0c;你负责那一模块 3.any与unknow的异同 相同点&#xff1a;any和unkonwn 可以接受任何值 不同点&#xff1a;any会丢掉类型限制&#xff0c;可以用any 类型的变量随意做任何事情。unknown 变量会强制执行类型检查&#xff0c;所以在使用一个…

小杨X型矩阵

对于这道题&#xff0c;我们首先需要了解它的思路 他一共要考虑两条线 左斜线和右斜线 --- --- ---- --- --- 像上面这样&#xff1b; 两条线的判断条件分别为 ij 及 ijn1 代码如下&#xff1a; #include<iostream> using namespace std; int main() {int n;cin&g…