版本控制工具-git的基本使用

目录

  • 前言
  • 一、git简介
  • 二、git工作流程
  • 三、安装git并配置git
    • 3.1 配置用户名和邮箱
    • 3.2 配置.gitignore文件(可选)
    • 3.3 配置ssh key(可选)
  • 四、git基本命令
    • 4.1 创建本地仓库
    • 4.2 将工作区内容提交到本地仓库
    • 4.3 将本地仓库内容推送到远程仓库
  • 参考文献

前言

本篇文章介绍git的一般工作流程,需要读者具备linux操作系统的常用命令

一、git简介

Git是一个开源的分布式版本控制软件,常用于项目的版本管理
Git是Linux Torvalds为了帮助管理Linux内核开发而开发出来的一个版本控制软件

二、git工作流程

git的工作流程如下图所示:
在这里插入图片描述

工作区:一般指某个目录下除了.git文件的其他空间
暂存区:一般指保存在 .git 目录下的 index 文件
本地仓库:一般指某个目录下的.git文件
远程仓库:一般指保存在远程服务器的.git目录

在这里插入图片描述

三、安装git并配置git

git下载和安装过程这里不一一赘述,读者可根据自己的操作系统选择对应的版本下载并安装就可以。
下面主要叙述git的配置
注意:以下操作都是在git客户端提供的命令行界面下

3.1 配置用户名和邮箱

为了让项目管理者了解本地仓库的提交记录,需要配置用户名和邮箱

git config --global user.name 用户名
git config --global user.email 邮箱

想要查看配置后的结果

git config --list

3.2 配置.gitignore文件(可选)

配置.gitignore的作用是可以过滤文件,让本地仓库忽略这些文件
step1 在用户目录创建.gitignore文件

touch ~/.gitignore
在用户目录创建一个.gitignore文件

假设您的操作系统是windows,则会在以下目录生成.gitignore文件

C:\用户\用户名\.gitignore

step2 在.gitignore文件配置过滤规则,读者根据自己的需求配置

#利用vi编辑.gitignore文件
vi ~/.gitignore

step3 将.gitignore文件配置到git

git config --global core.excludesfile ~/.gitignore

3.3 配置ssh key(可选)

step1 在用户目录生成.ssh文件,这个文件包含一个私钥文件和公钥文件

#将工作目录切换到用户目录
cd ~/
#生成.ssh文件
ssh-keygen -t rsa -C "youremail"

step2 查看公钥内容,复制公钥内容

#切换到.ssh目录下
cd ~/.ssh/
#查看公钥的内容
cat id_rsa.pub

step3 将复制的公钥内容配置到对应的代码托管平台,例如gitee和github,这里为gitee

在这里插入图片描述

四、git基本命令

4.1 创建本地仓库

方式一 在本机手动创建本地仓库

git init
在某个工作区初始化一个本地仓库

step1 在本机选择一个目录作为一个本地仓库的工作区
step2 在工作区下使用git init命令初始化一个本地仓库

方式二 从远程服务器克隆一个仓库
step1 在本机选择一个目录作为一个本地仓库的工作区
step2 在工作区下使用git clone命令,从远程服务器克隆一个仓库作为本地仓库

git clone <远程仓库URL>
在某个工作区克隆一个远程仓库

4.2 将工作区内容提交到本地仓库

step1 将工作区内容添加到暂存区,以便本地仓库对工作区的内容进行追踪

git status
在添加之前,可以查看工作区有哪些内容需要被追踪


方式一
git add 文件
将工作区需要被追踪的内容添加到暂存区

git add .
把工作区所有内容添加到暂存区

step2 将暂存区的内容提交到本地仓库,以便本地仓库可以与工作区的内容保持一致

git commit -m '注释' 
将暂存区的内容提交到本地仓库

4.3 将本地仓库内容推送到远程仓库

step1 将远程仓库的URL保存到本地仓库

git remote -v
查看本地仓库保存的远程仓库URL

git remote add 远程仓库名 远程仓库URL

说明:
远程仓库名是为了在本机操作方便而给远程仓库起的别名,所以一般也称为别名

step2 拉取远程仓库内容到本地仓库,推送之前保持两者的一致性

git pull --rebase 远程仓库名 远程仓库分支名:本地仓库分支名

说明:
将远程仓库分支与本地仓库分支进行合并
如果合并的是当前分支,则可简写为

git pull --rebase 远程仓库名 远程仓库分支

step3 将本地仓库内容推送到远程仓库

git push 远程仓库名 本地仓库分支名:远程仓库分支名

说明:
将本地仓库的分支与远程仓库分支进行合并
如果本地仓库分支名与远程仓库分支名相同,则可简写为

git push 远程仓库名 远程仓库分支名

参考文献

[1] https://blog.csdn.net/qq_29493173/article/details/113094143
[2] https://blog.csdn.net/f_957995490/article/details/130850727

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【例子】webpack 开发一个可以加载 markdown 文件的加载器 loader 案例

Loader 作为 Webpack 的核心机制&#xff0c;内部的工作原理却非常简单。接下来我们一起来开发一个自己的 Loader&#xff0c;通过这个开发过程再来深入了解 Loader 的工作原理。 这里我的需求是开发一个可以加载 markdown 文件的加载器&#xff0c;以便可以在代码中直接导入 m…

nacos漏洞汇总

1 nacos介绍 1.1 nacos是啥 Alibaba Nacos是阿里巴巴推出来的一个新开源项目&#xff0c;是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。致力于帮助发现、配置和管理微服务。Nacos提供了一组简单易用的特性集&#xff0c;可以快速实现动态服务发现、服…

【数据结构】(C语言):动态数组

动态数组&#xff1a; 内存区域连续&#xff0c;即每个元素的内存地址连续。可用索引查看元素&#xff0c;数组[索引号]。指定位置删除元素&#xff0c;该位置之后的元素全部往前移动一位。指定位置添加元素&#xff0c;从最后到该位置的元素全部往后移动一位。物理大小&#…

量化交易 - 策略回测

策略回测 1、什么是策略回测&#xff1f;2、策略回测的作用3、策略回测系统概述3.1策略回测中相关的指标介绍3.2量化交易策略的资金容量3.3 完整的策略回测系统包含哪些内容 1、什么是策略回测&#xff1f; 策略回测&#xff0c;也称之为策略回溯测试&#xff0c;是指利用交易…

NLP经典论文研读--xlnet论文代码复现记录

xlnet源码解读(简易pytorch实现版本) xlnet这个模型还是相当复杂的&#xff0c;我看了很长一段时间也还是有很多地方没有搞明白&#xff0c;最后又在网上搜了很多大佬写的相关博客&#xff0c;才算是大致弄明白了&#xff0c;想了解xlnet的原理&#xff0c;请参考原论文&#…

微服务框架中的Eureka和Ribbon的个人理解

微服务框架需要学习的东西很多&#xff0c;基本上我把它分为了五个模块&#xff1a; 第一&#xff1a;微服务技术模块 分为三个常用小模块&#xff1a; 1.微服务治理&#xff1a; 注册发现 远程调用 配置管理 网关路由 2.微服务保护&#xff1a; 流量控制 系统保护 熔断降级 服…

【尚庭公寓SpringBoot + Vue 项目实战】移动端登录管理(二十)

【尚庭公寓SpringBoot Vue 项目实战】移动端登录管理&#xff08;二十&#xff09; 文章目录 【尚庭公寓SpringBoot Vue 项目实战】移动端登录管理&#xff08;二十&#xff09;1、登录业务2、接口开发2.1、获取短信验证码2.2、登录和注册接口2.3、查询登录用户的个人信息 1、…

gbase 8c分布式升级步骤

GBase 8c 多模多态企业级分布式数据库具备高性能、高可用、弹性伸缩、高安全性等特性&#xff0c;可以部署在物理机、虚拟机、容器、私有云和公有云&#xff0c;为关键行业核心系统、互联网业务系统和政企业务系统提供安全、稳定、可靠的数据存储和管理服务。GBase 8c支持行存、…

视频号的视频怎么提取文案?详细教程来啦!

很多人不知道视频号的视频怎么提取文案&#xff0c;今天就和大家详细说说视频号视频提取文案的方法&#xff01; 众所众知视频号的视频无法下载&#xff0c;我们该怎么提取视频号的视频呢&#xff1f; 关于下载视频号的视频&#xff0c;首先给大家两种方案&#xff0c;一种就是…

软考在事业单位可以评高级职称的吗?

导言&#xff1a; 我本人计算机专业&#xff0c;就业于一个事业单位&#xff0c;单位有一个副高级职称数&#xff0c;若干个中级职称数&#xff0c;我可不可以通过软考拿到的中级证书&#xff0c;去找领导申请单位聘我的中级职称&#xff0c;高级职称呢&#xff1f; 以下&…

C++之STL(九)

1、函数对象 什么适合推荐使用函数对象&#xff1f; 需要状态的函数调用: 需要状态的函数调用: 函数对象可以包含成员变量&#xff0c;可以在多次调用中保持状态。这在某些算法中非常有用。 提高性能: 编译器可以更好地优化函数对象&#xff0c;因为它们是具体的类型&#xf…

【路由交换技术】Cisco Packet Tracer基础入门教程(四)

Hello各位&#xff0c;好久不见&#xff0c;第四期我准备讲一下Packet Tracer中DHCP的配置&#xff0c;使用方法。 本章实验我们将拓扑中的某个路由器作为DHCP服务器&#xff08;它仍然可作为路由器使用&#xff09;&#xff0c;通过命令配置DHCP服务。独立的服务器可通过图形化…

基于VUE3+VITE+SpringBoot+Nginx部署项目之跨域配置等问题

前言&#xff1a;遇到问题&#xff0c;解决问题。 第一部分&#xff1a;VUE 配置 1、vite.config.js 文件 server: {proxy: {/api: {target: env.VITE_BASE_URL,changeOrigin: true,secure: false,rewrite: path > path.replace(/^\/api/, )}}}, 2、.env 文件 VITE_BAS…

JavaScript算法之龟兔赛跑

简介:龟兔赛跑算法,又称弗洛伊德循环检测算法,是一种在链表中非常常用的算法。它基于运动学和直觉的基本定律。本文旨在向您简要介绍该算法,并帮助您了解这个看似神奇的算法。 假设高速公路上有两辆车。其中一辆的速度为 x,另一辆的速度为 2x。它们唯一能相遇的条件是它们…

UE4 Unlua的快速使用

目录 Unlua的使用前言下载Unlua插件插件安装快速入门语法汇总模块导入多行字符串官方静态方法调用蓝图方法调用重载蓝图中的方法主动调用被重载的蓝图方法输入绑定动态绑定Lua脚本委托容器使用 延迟与协程的使用C 调用Lua 静态导出自定义类型到Lua使用网络UMG资源释放自定义加载…

如何寻找强势货币和弱势货币?

外汇交易的独特之处在于&#xff0c;它融合了两种货币的价值&#xff0c;其中一种货币的价值通过另一种货币来体现。举例来说&#xff0c;USDJPY外汇反映了美元与日元之间的价值关系&#xff0c;而EURUSD则代表了欧元与美元的价值对比。 通过开仓操作&#xff0c;我们预测一种…

继续捡钱,每天几百块!

每日操作计划&#xff1a; 标普信息科技(161128)&#xff0c;溢价8.5%&#xff0c;限购100&#xff0c;一拖七&#xff0c;单户每天700*8.5%59元 印度基金LOF(164824)&#xff0c;溢价2.6%&#xff0c;限购100&#xff0c;一拖七&#xff0c;单户每天700*2.6%18元 美元债LOF(…

如何解决Oracle中PL Developer过期

如果长时间不使用PL Deveploer&#xff0c;再次打开有可能会出现以下页面&#xff1a; 上方页面说明此软件已经过期&#xff0c;有两种方法可以解决上述问题&#xff0c;第一种&#xff1a; 操作注册表&#xff1a; WinR 输入指令“regedit”打开注册表&#xff0c;出现下方页…

List常用操作比for循环更优雅的写法

private String name; //姓名 private Integer age; //年龄 private Integer departId; //所属部门id } List list new ArrayList<>(); 复制代码 简单遍历 使用lamada表达式之前&#xff0c;如果需要遍历list时&#xff0c;一般使用增强for循环&#xff0c;代码如…

利用圆上两点和圆半径求解圆心坐标

已知圆上两点P1&#xff0c;P2&#xff0c;坐标依次为 ( x 1 , y 1 ) , ( x 2 , y 2 ) (x_1,y_1),(x_2,y_2) (x1​,y1​),(x2​,y2​)&#xff0c;圆的半径为 r r r&#xff0c;求圆心的坐标。 假定P1&#xff0c;P2为任意两点&#xff0c;则两点连成线段的中点坐标是 x m i …