Git 入门

news2024/11/24 8:56:17

文章目录

  • 0. 前言
    • 学习目标
    • 参考教程链接
  • 1. Git概念
    • 1.1 什么是Git
    • 1.2 Git 的下载
    • 1.3 Git三大区域
    • 1.4 远程仓库
  • 2. Git的使用
    • 2.1 图形化操作
      • 2.1.1 IDEA图形化操作
      • 2.1.2 GitKraken(可选)
    • 2.2 命令行操作
      • 2.2.1 Git 配置
      • 2.2.2 分支命令
      • 2.2.3 拉取与推送
  • 3. 总结

0. 前言

学习目标

  1. 了解 Git 的相关概念
  2. 下载安装Git、准备远程仓库
  3. 学习并使用Git进行版本控制测试

参考教程链接

猴子都能懂的GIT入门教程
B站鱼皮导学
优质Git笔记
优质Git博客

1. Git概念

1.1 什么是Git

Git 是一个开源的分布式版本控制系统。

从我们开发者的角度来说,我们可以使用 Git 将项目的代码(一般都会放在远程仓库)克隆到本地,然后创建分支,编写代码,提交代码。从项目管理者/整个团队来说,可以通过Git了解哪位工程师提交了哪段代码,代码之间有什么冲突,然后可以将代码进行合并。

简单来说,我们使用Git,让大家的代码版本保持一致,更方便地解决各自写的代码冲突问题,哪怕出错了,也可以及时回滚到前一个版本,更科学地管理项目。

附一张截取自百度百科的图:
百度参考图

至于另一种常用的版本控制系统SVN,读者可自行百度了解。

1.2 Git 的下载

Git官网

1.3 Git三大区域

Git 在工作时,分为工作区、缓存区、资源区。关于这3个区,此处分享一个总结得十分形象、精辟的连接:优质Git笔记

1.4 远程仓库

目前我们国内的程序员常用的远程仓库:Gitee、GitHub、GitLab、GitCode 等。

注意,远程仓库不等同于Git,Git在我们看来是一个版本控制系统,是一个工具;远程仓库(GitHub等)则是一种云服务仓库,就像是我们租了一块硬盘,放在老远,通过网络连接,大家的代码都存放在这里,通过Git进行版本控制。

下面我们初始化一个远程仓库,供我们学习与练习。此处我以Gitee为例,其它仓库大同小异。

创建仓库
注册仓库略,我们直接创建:
新建仓库

像这样我们填写完一些必要的基础信息后,就创建了远程仓库了。接下来,Gitee会给我们提示简易的命令行入门教程,我们可以选择性地尝试一下(具体命令下文会介绍)

gitee

2. Git的使用

2.1 图形化操作

2.1.1 IDEA图形化操作

IDEA作为我们目前使用最多的IDE之一,真的太方便了。以下我们使用IDEA来进行Git入门使用示例:

随便选择一个尚未配置Git信息的工程:
project

配置本地仓库路径:
step2

然后,进入我们配置的本地路径可见:
localrepository

配置路径(注意要切换到git本地仓库所在的路径):
addr_config

配置分支信息:
new_branch

commit、push测试:
commit

commit 完成后,点击绿色指向右上角的箭头就可以完成push:
gitui

合并分支测试:在仓库上pull request,然后参考下图操作即可:
合并

pass

在这里插入图片描述

2.1.2 GitKraken(可选)

GitKraken 是我们常用的Git UI,用它也可以进行图形化版本管理,下载与使用教程:
GitKraken简书

2.2 命令行操作

使用命令行操作有个好处,就是能及时地知道自己的分支上传信息。命令行也是我们常用的git使用方式,也是本文的重点。Git命令众多,这里介绍常见的:

2.2.1 Git 配置

git config

# 查看配置列表
git config --list

# 基础配置,配置用户名和邮箱
git config --global user.name  "username"  
git config --global user.email  "email"

# 修改配置
git config --replace-all user.name "value"

# 删除配置
git config --unset 

例如,以下截图就是我在配置的时候配置错了最后一行的配置,于是我们可以用删除配置的命令来把它删除
gitconfig

执行

git config --global --unset user.enail

其它配置信息,请读者查阅其它文档

2.2.2 分支命令

# 查看分支
git branch

# 查看远程分支
git branch -v

# 创建分支
git branch [name]

# 切换分支
git checkout [name]

# 创建并切换分支
git checkout -b [name]

# 将当前分支与参数name的分支合并
git merge [name]

# 删除分支
git branch -d [name]

例如:
branch

2.2.3 拉取与推送

# 本地创建初始化
git init

# 本地克隆
git clone [url]

# 查看远程仓库
git remote -v

# 添加至暂存区
git add

# 提交到分支
git commit -m "description"

# 推送push
git push [remoteName] [localBranchName]

# 拉取pull
git pull [remoteName] [localBranchName]

例如:
git_commit

剩余其它命令,请读者查阅相关文档。

3. 总结

我们平时使用Git进行版本控制,可以使用UI的方式操作(适合快速入门),也可以使用命令行的方式。除了要进行解决冲突、版本回滚等操作,我们平时用得比较多的就是pull、add、commit、push了。

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

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

相关文章

面试官:你来说一下Spring IOC容器的创建过程

这篇文章主要讲解 IOC 容器的创建过程,让你对整体有一个全局的认识,文章没有复杂嵌套的 debug 流程,相对来说比较简单。 不 BB,上文章目录。 1. 基础知识 1.1 什么是 Spring IOC ? IOC 不是一种技术,只是…

数据结构抽象数据类型的表示和实现

抽象数据类型(Abstract Data Type,ADT)是指一个数学模型以及定义在此数学模型上的一组操作。例如,“整数”是一个抽象数据类型,其数学特性和具体的计算机或语言无关。“抽象”的意义在于强调数据类型的数学特性。抽象数据类型和数据类型实质上…

Halcon常用算子(库函数)整理

目录一. 常规操作类1.1 tuple_length()1.2 tuple_find_first()1.3 tuple_gen_const()二. 机器视觉操作类2.1 read_image()2.2 get_image_size()2.3 intensity()2.4 zoom_image_factor()2.5 median_image()2.6 Gauss_filter()2.7 fft_generic()2.8 convol_fft()2.9 sub_image()2…

大白话给你讲明白数据仓库

数据仓库的本质就是完成从面向业务过程数据的组织管理到面向业务分析数据的组织和管理的转变过程。 数据仓库类比粮食仓库 业务过程数据的组织管理实际上就是由各种业务系统来完成的,比如ERP、CRM、OA等各类业务系统,解决的是基本的业务流程管理。通过…

PS的安装、背景、背景练习、雪碧图、线性渐变、径向渐变、电影卡片练习——06fontbackground

目录 一、PS的安装 二、背景(background-color、background-image、 background-repeat、background-position、background-clip、background-origin、background-size、background-attachment) 三、背景练习(背景重复—导航条的背景颜色是渐变的) 四、背景练习&#xff08…

【数据结构】深度讲解栈、栈的应用举例、栈和递归的实现教你全面认识栈

目录一.栈1.栈的概念及结构2.栈的实现stack.hStack.c二.栈的应用举例1.数制转换2.有效的括号3.迷宫求解三.栈与递归的实现1.栈和递归2.迷宫问题递归实现3.汉诺塔栈实现一.栈 入栈出栈展示: 1.栈的概念及结构 栈:一种特殊的线性表,其只允许…

【Web开发】Python实现Web服务器(Ubuntu下安装Flask)

🍺基于Python的Web服务器系列相关文章编写如下🍺: 🎈【Web开发】Python实现Web服务器(Flask快速入门)🎈🎈【Web开发】Python实现Web服务器(Flask案例测试)&a…

【ESP32+freeRTOS学习笔记-(三)任务】

目录1、任务相关基本概念1.1 任务函数原型1.2 任务句柄TaskHandle_t 及任务控制块TCB_t1.3 任务状态1.4 优先级(Task Priorities)2 创建任务2.1 xTaskCreate2.2 xTaskCreateStatic()3 延迟函数使任务进入阻塞状态vTaskDelay()函数vTaskDelayUntil()函数4…

【C++初阶】vector的模拟实现

文章目录vector的介绍vector的模拟实现成员变量Member functionsconstructor(构造函数)destructor(析构函数)operatorIteratorsbeginendCapacitysizecapacityreserveresizeElement accessoperator[]Modifierspush_backpop_backins…

手办商城系统|Springboot+vue+ElementUI手办商城系统

作者主页:编程指南针 作者简介:Java领域优质创作者、CSDN博客专家 、掘金特邀作者、多年架构师设计经验、腾讯课堂常驻讲师 主要内容:Java项目、毕业设计、简历模板、学习资料、面试题库、技术互助 收藏点赞不迷路 关注作者有好处 文末获取源…

C语言重点解剖预处理要点速记

1.宏定义字符串的时候一定要带上双引号。 2.程序的翻译,就是把文本代码翻译成二进制代码。分为4个阶段,即预处理,编译,汇编,链接。 3.预处理:头文件展开,去注释,宏替换&#xff0c…

基于Spring cloud + vue 的前后端分离的社团管理系统,数据库采用MYSQL,前端使用 VUE + element

背景 因学校没有成熟的社团管理系统,一为满足学校需求, 其次开源的社团管理项目,多为mvc ssm框架 很少有前后端分离的微服务框架,为了科技的发展, 更好学习解决高并发问题,也为了更好地掌握锤炼新技术&…

Web前端:广州蓝景实训

0基础也能学,5个月的课程时间,从小白到就业课程内容紧贴市场就业要求。广州蓝景前端实训课程,6年时间培养出过千名工程师,成功就业。今天就跟大家分享,蓝景学员的学习体验流程: 一、前端技术学习 1、授课…

3.Kafka

1.定义 1.1传统定义 Kafka是一个分布式的基于发布订阅模式的消息队列,主要应用于大数据的实时处理领域发布订阅:消息发布者不会直接将消息发送给订阅者,而是将发布的消息分为不同的类别,订阅者只接收感兴趣的消息 1.2最新定义 …

计算机网络期末重点考点总复习

第三章数据链路层 CRC检验问题 知识点 例题 要发送的数据为1101011011。采用CRC的生成多项式是 P(X)X^4 X 1试求应添加在数据后面的余数。数据在传输过程中最后一个1变成了0,问接收端能否发现? 若数据在传输过程中最后两个1都变成了0,问接…

MacOS系统安装Qt教程

我以为搜索QT下载,安装好QT Creator就能开开心心HelloWorld,然而还是太年轻了,一个 No suitable kit found 报错告诉我,可能没那么简单。于是,我去查了查,大概原因就是苹果处理器和x86不太一样,…

借助这几个工具,轻松实现在手机压缩视频

我有一个习惯,就是会将生活中发生的趣事,或是沿途好看的风景,用手机录制下来,这样的话,后续再回看这些视频的时候,就能勾起相对应的美好回忆。 但是久而久之,这些视频积累太多的话,就…

Springboot 2.7.5 HikariCP 连接池多数据源配置

一. 引言 当前项目遇到需要连接多个数据库的场景,此时需要引入多数据源了. 还有一些诸如以下的场景: 与第三方对接时,有些合作方并不会为了你的某些需求而给你开发一个功能,他们可以提供给你一个可以访问数据源的只读账号,你需要…

Web漏洞扫描篇-Nessus使用

软件介绍 Nessus是一种漏洞扫描器,个人和组织广泛使用它来识别和修复计算机系统中的漏洞。Nessus可以扫描广泛的漏洞,包括缺少补丁、弱密码和配置错误的系统,它可以扫描单个系统或整个网络上的漏洞。Nessus可以在各种平台上运行,…

【云原生进阶之容器】第一章Docker核心技术1.10节——Docker网络模型设计

1 容器网络背景概述 1.1 Linux的namespace+cgroup 先来简要回顾一下前面的内容,namespace和cgroup是Linux 内核的两大特性,namespace的诞生据说就是为了支持容器技术,那么这俩特性到底干了啥呢? - namespace:linux支持多种类型的namespace,包括Network,IPC,PID, Mount…