Git相关使用

article/2025/6/19 4:36:36

私人博客

许小墨のBlog —— 菜鸡博客直通车

系列文章完整版,配图更多,CSDN博文图片需要手动上传,因此文章配图较少,看不懂的可以去菜鸡博客参考一下配图!

系列文章目录

前端系列文章——传送门
后端系列文章——传送门


文章目录

  • 私人博客
  • 系列文章目录
  • Git
    • 一、git介绍
      • 1、概念介绍
      • 2、学前了解
        • 2.1、文件夹和仓库
        • 2.2、仓库状态
          • 2.2.1、工作区
          • 2.2.2、暂存区
          • 2.2.3、版本区
        • 2.3、仓库类型
          • 2.3.1、远程仓库
          • 2.3.2、本地仓库
        • 2.4、专业术语
      • 3、工具安装
    • 二、远程仓库
      • 1、新建仓库
      • 2、未初始化
      • 3、有版本记录
      • 4、冲突和解决
      • 5、秘钥的配置
    • 三、分支操作
    • 四、其他命令


Git

一、git介绍

1、概念介绍

git是一个项目管理工具。

在工作中,一个项目会分给多人合作,每个人负责一个模块,所有人做完后,将项目代码放在一起组成完成的项目。

在以前, 这项工作需要人工处理,工作量大,出错率高。

现在,这项工作都交给git(项目管理工具)自动处理,工作量忽略不计,出错率低。

主管每天查看项目小组的工作量,以前需要拿到代码文件,跟上一天做对比,现在,通过git工具快速得到统计,可以更公平的论功行赏。

项目开发过程中,如果改动较大,完全瘫痪,正常文件夹中的操作,就需要从头来过了,但是用git来管理项目文件,可以快速回退到某个节点。

工作中的项目都是放在一个代码仓库中的,每个人负责将代码仓库中的代码下载到本地进行开发,每天开发完,都要上传到代码仓库,组长进行项目合并。这个上传和下载的过程,都是通过git工具进行的。

代码仓库相当于一个专门用于存储代码的远程服务器。

利用一个软件 - git工具,对本地或远程的项目文件进行方便的管理。

2、学前了解

2.1、文件夹和仓库

仓库是被git工具管理的文件夹。

仓库中有.git隐藏文件夹。

仓库可以跟远程服务器建立连接。

2.2、仓库状态

2.2.1、工作区

还未放入仓库中的文件,属于文件夹,但不属于仓库。准备存入仓库的文件。

2.2.2、暂存区

进入仓库的文件,但是还未指定版本记录,没有历史操作记录,准备登记记录。

2.2.3、版本区

进入仓库的文件,已经有登记,可以随时根据记录找到对应的文件。

任何内容要真正存入仓库,需要先在 工作区==>暂存区==>版本区

2.3、仓库类型

2.3.1、远程仓库
  • github

    官网:https://github.com/

    属于微软,国际程序员都在使用,有较为先进的开源项目,有个人项目,有社区项目,很多名人都在使用这种仓库记录代码。

    企业版要收费,因为需要占用别人的空间,自己搭建服务。

  • gitee

    码云,官网:https://gitee.com/

    服务器在国内,中国版的github,国内很多开源项目都在上面。

    企业版不收费,但空间和服务完全是网站提供的,可能会有不安全的感受。

  • gitlab

    官网:https://git.lug.ustc.edu.cn

    由乌克兰程序员开发。

    企业版不收费,但服务需要自己搭建。现在很多企业都在使用。

2.3.2、本地仓库

本地被git工具管理的文件夹。

2.4、专业术语

本地仓库:在自己电脑上被 git 管理的文件夹

远程仓库:在线上管理的文件夹

推送:将本地的内容,上传到远程

同步/拉取:将线上的内容和本地内容保持一致

git可以管理远程的仓库,也可以管理本地仓库。

3、工具安装

傻瓜式安装即可。

下载安装,检测是否安装成功:

git --version

或者点击鼠标右键出现下图也可以

在这里插入图片描述

二、远程仓库

1、新建仓库

gitee新建仓库,有手就行,不会的去菜鸡博客看图吧!

选择初始化仓库后的仓库展示

未选择初始化仓库的展示

2、未初始化

在本地新建文件夹,然后初始化为仓库

git init

本地添加内容,查看仓库状态

git status

红色代表在工作区;绿色代表在暂存区

将工作区文件放在暂存区:

git add .

将暂存区文件放在版本区:

git commit -m "版本记录"

建立和远程仓库的联系:

git remote add origin 远程仓库地址

将本地仓库版本区文件推送到远程仓库:

git push -u origin master

这里的origin跟上一个命令中的origin同名,origin是一个变量名,可以自定义。

要将本地仓库推送到未初始化的远程仓库,本地仓库必须至少有一个版本。

后续再次将本地仓库推送到远程,只需要执行git push就行。

3、有版本记录

将远程仓库文件克隆到本地:

git clone 远程仓库地址 指定的文件夹名称

文件夹名称可以省略,默认使用远程仓库名称

本地操作正常的工作区、暂存区、版本区操作,后推送到远程仓库:

git push

远程仓库有变化,需要本地跟远程保持同样的变化:

git pull

4、冲突和解决

远程仓库要形成版本,必须一个一个生成,不能跳着生成,例如:版本1只能生成版本2,不能生成版本。

当两个人操作同一个仓库的时候容易造成跨版本生成的冲突。

解决办法:

  1. 先让本地仓库和远程仓库保持同步

    git pull
    
  2. 再次推送

    git push
    

5、秘钥的配置

远程仓库操作有两种协议:https和ssh方式。

https方式推送需要输入账号和密码,传输安全性不如shh高。

ssh协议的使用,需要配置公钥和秘钥,可以节省输入账号密码的操作,保证传输的安全。

检测本地计算机是否有秘钥

cd ~/.ssh

有这个文件夹,表示存在,否则不存在[

秘钥生成:

ssh-keygen -t rsa -C "提交使用的邮箱"

公钥配置:

将带有.pub的文件内容复制到SSH公钥。

然后我们在使用仓库地址的时候,就可以使用ssh的地址了:

推送/拉取都不需要输入账号密码了,且只有当前计算机可以使用,其他计算机无法使用。

三、分支操作

一个大项目,会分很多人开发,每个人一个功能,这时候,每个功能作为一个分支,主分支只有目录结构。当所有人将自己负责的功能开发完成的时候,再将所有分支合并到主分支上,形成一个完整的项目。

每次初始化一个git的时候,默认创建一个主要分支:master

查看所有分支:

git branch

创建分支:

git branch 分支名

切换分支:

git checkout 分支名

创建并切换到这个分支:

git checkout -b 新分支名

合并分支:(将别的分支合并到自己分支)

git merge 要合并的分支

删除分支:(不能自己删自己)

git branch -D 要删除的分支

在实际工作的项目中,master分支用于正在运行的完整的项目。我们通常在开发的时候,不会直接操作master分支的,master分支上的代码是从主测试分支上合并过来的。主测试分支上的代码,是从主开发分支上合并过来的,主开发分支上的代码,是从分开发分支上合并过来的,我们在工作中,通常是在分开发分支上进行操作的。

我们本地和远程进行非主分支操作的时候,本地的分支名和远程的分支名一定要保持一致。

四、其他命令

设置提交的用户名和邮箱:

git config --global user.name "自定义的名字"
git config --global user.email "自定义的邮箱地址"

将源文件添加到暂存区:

git add 文件 # 将单独一个文件添加到暂存区
git add 文件夹/ # 将整个文件夹添加到暂存区(git不管理空文件夹)
git add --all # 将当前文件夹中所有文件和文件夹都添加到暂存区  -  简写:git add .

将暂存区的文件拉回到源文件:

git reset HEAD -- 文件 # 将某个文件从暂存区变为源文件
git reset HEAD -- 文件夹/ # 将整个文件夹从暂存区变为源文件
git reset HEAD -- . # 将所有文件从暂存区变为源文件

我们每次提交就相当于在整个开发中,记录了一些节点 - 版本

查看版本信息:

git log

回到指定版本:

git reset --hard HEAD^ # 有几个上档键就回退几个版本
git reset --hard 历史版本号

让git能管理一个空文件夹:

在空文件夹中新建文件:.gitkeep,这个文件没有实际意义,这是为了占位,让空文件夹能被管理的标识,以后要在文件夹中写文件的时候,这个文件可以被删除

让某些文件或者文件夹被忽略管理:

在和.git同级的位置,新建文件:.gitignore,在这个文件中书写要忽略的内容:

直接写文件名,代表要忽略的是哪个文件
写文件夹路径,表示要忽略的是哪个文件夹
*.后缀,表示要忽略的是所有后缀为指定后缀的文件

本博文缺失大量图片,严重影响内容完整性以及阅读体验,完整内容请前往本人菜鸡博客——许小墨のBlog


http://chatgpt.dhexx.cn/article/RLC6Os7v.shtml

相关文章

cmd命令安装python第三方库_Python如何安装第三方库

Python如何安装第三方库 [版权申明] 非商业目的注明出处可自由转载 博文地址:https://blog.csdn.net/cdpxc/article/details/108808780 出自:cdpxc 注:笔者是在D盘直接安装了Anaconda (https://www.anaconda.com/)并非直接安装的Python (https://www.python.org/downloads/)…

基于区块链的数字版权保护介绍

一、数字版权定义: 各类出版物、信息资料的网络出版权,可以通过新兴的数字媒体传播内容的权利。包括制作和发行各类电子书、电子杂志、手机出版物等的版权。 各国家对于数字版权作品的定义不一。以中国为例,主要数字版权作品包括以电子图书、…

2018年博客之星,需要您宝贵的一票!

很荣幸入选了CSDN博客之星候选,既然入选了,那么我还是想全力以赴!虽然比不上其他大佬那么优秀,但还是希望大家多多支持! 请投 003 号:LovelyBear2019 一票 投票地址 https://bss.csdn.net/m/topic/blog_…

方波中的毛刺

在FPGA设计中,经常要对外部输入的信号捕捉上升沿。 在某些设计中,外部输入信号为方波信号,由比较器输出。 如上图,比较器输出方波后,电路设计欠佳,产生抖动,下降沿产生毛刺,如果FPG…

html版权登记怎么打,版权符号怎么输入_Html版权符号怎么打

版权符号怎么输入 版权符号©的4种输入方法 版权符号©有很多种方法可以实现,如下: ??1、按住Alt键不放,然后输入169。松开Alt键后,就可以打出©号来,此法只适合于Win2000或Win2000以上的版本。(特别注意:输入的这些数字必须使用键盘右边的那些数字键才有效…

面试官让我聊聊jmeter性能全流程测试,我忍不住哭了

做性能测试的步骤 1、服务器性能监控 首先要在对应服务器上面安装性能监控工具,比如linux系统下的服务器,可以选择nmon或者其他的监控工具,然后在jmeter模拟场景跑脚本的时候,同时启动监控工具,这样就可以获得jmeter…

JMeter压测常见面试问题

1、JMeter可以模拟哪些类型的负载? JMeter可以模拟各种类型的负载,包括但不限于Web应用程序、API、数据库、FTP、SMTP、JMS、SOAP / RESTful Web服务等。这使得JMeter成为一个功能强大且灵活的压力测试工具。 2、如何配置JMeter来进行分布式压力测试&a…

首网推荐!自动化测试——频次最高的23道jmeter面试题及答案!

全B站仅此一家!Jmeter接口测试,学到就是赚到! 1、解释什么是JMeter? JMeter是一款Java开源工具,用于性能负载测试。它旨在分析和衡量Web应用程序和各种服务的性能和负载功能行为。 2、说明JMeter的工作原理&#xff1f…

面试题---jmeter

面试中遇到的问题: 1. 如何使用Jmeter进行并发测试 2. 如何设置并发量为1000 3. 如果http请求每个都不一样,如何配置 4. 如何设置sessionID 一、安装配置 1. 在Terminal中输入命令: ruby -e "$(curl -fsSL https://raw.githubuse…

9月最新Jmeter面试题

1、Jmeter的关联用到了哪些方法去实现 接口的响应结果通常为 html 和 Json 格式的数据,主要会用到正则提取器、Json 提取器、Xpath 器以及边界值提取器,还有 beanshell 来进行数据的提取。 对于 html 这种响应结果我们通常会用正则或者是 Xpath 来进行…

jmeter面试题及答案(jmeter接口自动化测试面试题)

JAVA面试试题 是啊,java程序开发是吗? 如果自己以前学过编程的话,应该知道考这的话,就是一些基础的语法知识,然后给一个运用性的来让你编程和调试程序。你应聘的是哪个职业,要想清楚的,到迅雷上面可以下载很多很多,推…

软件测试jmeter面试问题,jmeter 面试题剖析实战

最近有个学生反馈,自己在面试的时候,遇到一个 jmeter 题目,要我帮忙看下,题目如下: 进入http://www.weather.com.cn/网站,用jmeter编写脚本实现如下操作(下列要求在同一个测试脚本) : (1)编写获取北京天气紫…

高频面试题解析:jmeter 面试题剖析实战

最近有个分析反馈,自己在面试的时候,遇到一个 jmeter 题目,要我帮忙看下,题目如下: 进入http://www.weather.com.cn/网站,用jmeter编写脚本实现如下操作(下列要求在同一个测试脚本) : (1)编写获取北京天气紫…

软件测试面试丨关于JMeter的问题,看这篇就够了

目录 前言1、解释下什么是JMeter?2、说明JMeter的工作原理?3、说明可以在哪里使用函数和变量?4、提到JMeter中的正则表达式是什么?5、解释什么是采样器(Samplers)和线程组(Thread group&#xf…

这34道接口测试 Jmeter面试题,你会吗?

接口测试 & Jmeter面试题 一、接口测试 1、接口测试流程 1、首先是从开发那里拿到API接口文档,了解接口业务、包括接口地址、请求方式,入参、出参,token鉴权,返回格式等信息。 2、然后使用Postman或Jmeter工具执行接口测试…

最新JMeter面试题,紧扣面试实际要求,看完拿下20K

JMeter是一款纯java编写负载功能测试和性能测试开源工具软件。相比Loadrunner而言,JMeter小巧轻便且免费,逐渐成为了主流的性能测试工具,是测试人员必须要掌握的工具之一。 下面小编给大家总结了22年最新30道关于JMeter的面试题,…

Jmeter 面试题

Jmeter的工作原理 1、Jmeter可作为Web服务器与浏览器直接的代理网关 2、可捕获浏览器的请求和Web服务器的响应,可以很容易的生成性能测试脚本 3、Jmeter可根据性能测试脚本并通过线程来模拟真实用户对Web服务器的访问压力 4、与LoadRunner的工作原理基本一致 J…

软测面试丨关于JMeter的面试问题,看这篇就够了!

JMeter是一款纯java编写负载功能测试和性能测试开源工具软件。相比Loadrunner而言,JMeter小巧轻便且免费,逐渐成为了主流的性能测试工具,是每个测试人员都必须要掌握的工具之一。下面松勤程老师列举分享一些关于JMeter问的最多的面试题。 1、…

2022 年面试工具篇 Jmeter 接口面试题及答案

问题列表 在项目中如何用jmeter进行http接口测试?Jmeter 常用元件有哪些?jmeter 如何管理cookie和session信息?jmeter中如何实现关联?jmeter中断言方式?jmeter参数化的方式有哪几种可以实现?Jmeter怎么录制…

2022年面试工具篇Jmeter接口面试题及答案

问题列表 •在项目中如何用jmeter进行http接口测试?•Jmeter 常用元件有哪些?•jmeter 如何管理cookie和session信息?•jmeter中如何实现关联?•jmeter中断言方式?•jmeter参数化的方式有哪几种可以实现?•…