当前位置: 首页 > news >正文

Git详解——安装、使用、搭建、IDEA集成

Git

看目录,篇幅挺长,越往后面越重要

目录
一、git是什么?
二、为什么要使用Git?
三、版本控制工具
四、git下载安装以及环境配置
五、git基本命令
六、git项目搭建
七、远程仓库怎么搞?git,gitlab,github,gitee区别
八、idea集成Git

一、Git是什么?

  • Git是一款分布式源代码管理工具(版本控制工具)
  • 使用Git,每次提交或保存项目状态时,Git基本上都会记录当时所有文件的外观,并存储对该快照的引用
    在这里插入图片描述

二、为什么要使用Git

  • 当你需要做一个大工程的时候,文件的管理无疑是非常庞大的工作,因为你需要不断的修改更新文件内容,同时可能还要保留旧版本保证可以复原,这样就需要备份多个版本的文件。

  • 并且在大多数情况下一个工程需要在多数人来共同维护,那么这种情况下不同人之间修改内容的合并也是非常麻烦的,这时使用git就可以很轻松的解决这些问题。


三、版本控制工具

主流的版本控制器有如下这些:

  • Git :分布式版本控制(最流行)

  • SVN(Subversion): 集中版本控制(会用到)

  • CVS(Concurrent Versions System)

  • VSS(Micorosoft Visual SourceSafe)

  • TFS(Team Foundation Server)

  • Visual Studio Online

git 与 svn 的区别

目前最流行的版本控制框架就是git,但是也有很多用svn的;

在这里插入图片描述

git

优点:

  • 适合分布式开发,强调个体。

  • 公共服务器压力和数据量都不会太大。

  • 速度快、灵活。

  • 任意两个开发者之间可以很容易的解决冲突。

  • 离线工作。

缺点:

  • 资料少(起码中文资料很少)。

  • 学习周期相对而言比较长。

  • 不符合常规思维。

  • 代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息

svn

优点:

  • 集中式管理,管理方式在服务端配置好,客户端只需要同步提交即可,使用方便,操作简单,很容易就可以上手。

  • 在服务端统一控制好访问权限,利用代码的安全管理。

  • 所有的代码以服务端为准,代码一致性高。

缺点:

  • 所有操作都需要通过服务端进行同步,这会导致服务器性能要求比较高。如果服务器宕机了就无法提交代码了。

  • 分支管理不灵活,svn分支是一个完整的目录,且这个目录拥有完整的实际文件,这些操作都是在服务端进行同步的。

  • 不是本地化操作,如果要删除分支,也是需要将远程的分支进行删除,这会导致大家都得同步。

  • 需要连网,如果无法连接到服务器就无法提交代码。


四、git下载安装以及环境配置

git官网下载

1.点击Downloads选择自己的操作系统,并选择32位或者64位

在这里插入图片描述

如果下载慢,那就选用国内镜像下载,这里提供了[阿里镜像地址](https://registry.npmmirror.com/binary.html?path=git-for-windows/),选择比较稳定的版本,自己运用的系统版本

2.比如我选了这个,点击下载

在这里插入图片描述
3.下来就是安装流程了,这里我就不废话了,很简单步骤,直接看该博主安装博文

Git下载安装教程

打开git除了该博主说的桌面快捷键外,右击鼠标,选择 “Git Bash Here” 也可以;另外环境配置也可能已经自动给配置上了,配置上的话就不用再配置了

4.打开git,其实在git文本框里操作文件的命令就是linux的命令,如下:

在这里插入图片描述

在这里插入图片描述


*五、git基本命令

查看git配置

git config -l

在这里插入图片描述
那这个配置文件在本地的什么地方呢?

git安装目录/etc/gitconfig 文件

在这里插入图片描述

查看git本地系统配置

git config --system --list

在这里插入图片描述

同样这个本地系统配置文件在哪里放着呢?

c盘/用户/用户名下的 “.gitconfig”文件中

在这里插入图片描述

**这个本地配置需要自己配置。以后提交代码之类的会用得着,怎么配置呢?如下

在这里插入图片描述
然后打开本地配置文件,发现信息已经写入

查看git当前用户配置

--global全局
git config --global --list

克隆代码

git clone 远程地址

查看本地分支

git branch

查看远程分支

git branch -r

查看所有分支

git branch  -a

切换分支

git checkout 分支名

创建分支

git  branch 分支名

创建新分支并切换

git checkout -b 分支名

查看该分支 状态

git status

查看 日志

git log

git从远程分支创建本地分支

git checkout -b 本地分支名 origin/远程分支名

git添加内容到缓存区

git add .

git 提交 内容到本地

git commit 

git 更新仓库内容

git pull  origin master

git 提交内容到远程仓库

git push origin master   #-f强推

git 获取最新变更

git fetch origin

说明

这些命令在项目上用的最多的就是add、commit、push、pull、checkout

Working Directory:工作区,平时存放项目代码的地方

Stage(index):用于临时存放改动的文件

Repostory:仓库区(或本地仓库),就是安全存放数据的位置,这里有你提交的所有版本的数据;其中HEAD指向最新放入仓库的版本

Remote:远程仓库,托管代码的服务器,可以简单的任务是你项目组中的一台电脑用于远程数据交换本地的三个区域,确切的说应该是git仓库中HEAD指向的版本。

在这里插入图片描述


六、Git项目搭建

在这里插入图片描述
git安装上了,命令也学习了,那么项目如何搭建呢?

方式一:

1.首先创建一个空文件夹,如下,目前是空文件夹

在这里插入图片描述
2. 右键点“Git Bash Here”,输入“git init”,也就是初始化项目,文件中出现了一个.git隐藏文件夹,若是没发现有,点开查看——勾选“隐藏的文件”

在这里插入图片描述

方式二:

直接克隆远程项目

git clone [远程项目url]

七、远程仓库怎么搞?

这里我们先聊一下Git,Gitee,GitLab,GitHub是个什么玩意?

先看定义:

  • Git 分布式版本控制系统

  • Gitee 码云,国内远程仓库,也就是在线代码托管工具,你的项目就可以远程推送到这里;Gitee官网

  • GitLab 一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的Web服务。一般用于企业内搭建私服,要自己搭环境 GitLab官网

  • GitHub 也是一个在线代码托管的仓库,国外的远程仓库;毕竟是国外的,打开就挺慢 GitHub官网

——那么这里呢就给说下Gitee

  • 1.首先就是注册登录以后,将基本信息修改下

在这里插入图片描述

  • 2.生成公钥,也就是你本地代码推送至远程仓库的时候不需要每次输入用户名密码;我这里已经有了;

在这里插入图片描述

任意目录下右键点击“Git Bash Here” 输入以下内容,回车

--rsa是加密算法方式“ssh-keygen -t rsa”

此时已经生成公钥,公钥文件在本地目录c盘/用户/用户名/.ssh/id_rsa.pub
在这里插入图片描述

打开该文件,将里面的内容全部粘贴到以下输入框。点击确定即可添加

在这里插入图片描述

  • 3.创建仓库,仓库修改为公有需要创建以后再修改

在这里插入图片描述

  • 4.目前仓库建好了,然后将远程仓库克隆到本地

创建文件夹,然后输入以下内容

git clone [远程仓库url]

在这里插入图片描述
这个时候本地文件和远程文件是一样的

  • 5.命令测试一下

在克隆的文件夹里右键打开git,操作以下命令

--查看状态
git status--创建一个文件
touch hello.html--查看状态,会发现有个红色文件,表示有新文件没有add
git status--添加
git add .--查看状态,发现文件变绿,表示有没提交的文件
git status--提交文件到本地仓库,这里要加-m 并且后面说明提交信息
git commit -m “new file hello.html”--查看状态,发现提示没有要提交的文件了
git status--推送到远程仓库
git push origin master--这个时候你会发现你的远程仓库已经有了你推送的文件hello.html

*八、IDEA集成Git

1.Version Control找到Git,填写自己的Git路径,点击OK
在这里插入图片描述

2.或者直接将.git文件复制粘贴到本项目下,会发现idea右上方出现Git按钮,右下角有显示提交历史

在这里插入图片描述

直接用idea可以都搞定;推送的时候有可能要输入用户名密码

在这里插入图片描述


参考视频

希望可以帮助到您

~感谢您的光临~

在这里插入图片描述

相关文章:

Git详解——安装、使用、搭建、IDEA集成

Git 看目录,篇幅挺长,越往后面越重要 目录一、git是什么?二、为什么要使用Git?三、版本控制工具四、git下载安装以及环境配置五、git基本命令六、git项目搭建七、远程仓库怎么搞?git,gitlab,github,gitee区别八、ide…...

【JavaSE】Java基础语法(二十一):内部类

文章目录 1. 内部类的基本使用2. 成员内部类3. 局部内部类4. 匿名内部类5. 匿名内部类在开发中的使用(应用) 1. 内部类的基本使用 内部类概念 在一个类中定义一个类。举例:在一个类A的内部定义一个类B,类B就被称为内部类 内部类定…...

Ceph应用

//存储类型 块存储 一对一,只能被一个主机挂载使用,数据以块为单位进行存储,典型代表: 硬盘 文件存储 一对多,能被多个主机同时挂载使用,数据以文件的形式存储的(元数据和实际数据是分开存储的),并且有…...

Oxford online English-Chair a Meeting 05/29

Part1-Welcoming attendees and starting the meeting Getting people’s attention If I could have your attention, please. Could I have your attention, please? Good afternoon, everyone. -> Good afternoon, everyone, could I have your attention, please?…...

LeetCode: 二叉树的直径(java)

二叉树的直径 leetcode 543题。原题链接题目描述解题代码二叉树专题 leetcode 543题。原题链接 543题:二叉树的直径 题目描述 给你一棵二叉树的根节点,返回该树的 直径 。 二叉树的 直径 是指树中任意两个节点之间最长路径的 长度 。这条路径可能经过也…...

springboot+vue+java旅行旅游景点酒店预订出行订票系统eaog5

线上旅行信息管理系统要求实现以下功能: a.景点管理,展示景点的基础信息,介绍等信息。 b.酒店管理,展示酒店的基础信息,介绍等信息。 c.评价管理,可以查看景点或酒店的相关评价信息,客户消费完,…...

Linux :: 【基础指令篇 :: 用户管理:(2)】::设置用户密码(及本地Xshell 登录云服务器操作演示) :: passwd

前言:本篇是 Linux 基本操作篇章的内容! 笔者使用的环境是基于腾讯云服务器:CentOS 7.6 64bit。 学习集: C 入门到入土!!!学习合集Linux 从命令到网络再到内核!学习合集 目录索引&am…...

img[:, :, ::-1] 通俗理解

👨‍💻个人简介: 深度学习图像领域工作者 🎉工作总结链接:https://blog.csdn.net/qq_28949847/article/details/128552785 链接中主要是个人工作的总结,每个链接都是一些常用demo&#xff0c…...

基于springboot+vue+elementui的健身房会员管理系统的

为了帮助用户更好的了解和理解程序的开发流程与相关内容,本文将通过六个章节进行内容阐述。 第一章:描述了程序的开发背景,程序运用于现实生活的目的与意义,以及程序文档的结构安排信息; 第二章:描述了程序…...

在酒店房间中的数据库索引

如果你经常去酒店,你会看到一块类似下面的标牌,指引你到达房间。这能够帮助你方便快速地找到房间,特别是当酒店拥有许多房间时。 以一个有9层的酒店为例。你的房间号是917。第一步是找到你的房间在哪一层,通常第一个数字表示楼层…...

Zookeeper学习---2、客户端API操作、客户端向服务端写数据流程

1、客户端API操作 1.1 IDEA 环境搭建 前提&#xff1a;保证 hadoop102、hadoop103、hadoop104 服务器上 Zookeeper 集群服务端启动。 1、创建一个工程&#xff1a;Zookeeper 2、添加pom文件 <?xml version"1.0" encoding"UTF-8"?> <project …...

Stack 栈的实现与应用

目录 1. 概念 2. 常用的栈的方法 2.1 方法 2.2 代码 3. 自己实现栈 3.1 构造MyStack 3.2 push() 3.3 ensureCapacity&#xff08;&#xff09; 3.4 pop() 3.5 peek() 3.6 empty() 3.7 szie() 4. 栈的应用 1. 概念 栈&#xff08;Stack&#xff09;是一种数据结构&…...

CSDN中如何获得铁粉(用心篇)

✅作者简介&#xff1a;2022年博客新星 第八。热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏…...

es 三 安装 es 安装kibana

目录 安装7.3.0 版本 下载地址 一个比一个快 页面测试访问 安装kibana 下载 Config/kibana.yml 配置修改开启中文 页面访问 安装7.3.0 版本 下载地址 一个比一个快 Index of /elasticsearch/ 下载中心 - Elastic 中文社区 下载中心 - Elastic 中文社区 官网下载 开箱…...

牛客HJ43迷宫问题 - 创建智能体通过策略自己找路

文章目录 问题描述思路代码C 问题描述 描述 定义一个二维数组 N*M &#xff0c;如 5 5 数组下所示&#xff1a; int maze[5][5] { 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, }; 它表示一个迷宫&#xff0c;其中的1表示墙壁&#xff0…...

测试报告模板一

XX测试报告 文档作者: 编写日期: 项目经理: 批准日期: 文档修改纪录表 日期 制修人 修改内容描述 1. 测试项目描述 1.1 测试描述 项目名称...

抖音账号矩阵系统源码/技术开发搭建私有化部署开源

抖音SEO矩阵系统是基于抖音平台的搜索引擎优化技术的一种系统&#xff0c;其主要作用是通过一系列的技术手段&#xff0c;提高抖音视频的曝光和排名&#xff0c;使其获得更多的流量和粉丝。在本文中&#xff0c;我们将介绍抖音SEO矩阵系统的开发技术&#xff0c;包括系统设计、…...

OpenSSL加密解密文件

OpenSSL是一个开源的用以实现SSL协议的产品&#xff0c;它主要包括了三个部分&#xff1a;密码算法库、应用程序、SSL协议库。Openssl实现了SSL协议所需要的大多数算法。 下面介绍使用Openssl进行文件的对称加密操作。 一、Openssl支持的加密算法有&#xff1a; -aes-128-cbc…...

PAT A1070 Mooncake

1070 Mooncake 分数 25 作者 CHEN, Yue 单位 浙江大学 Mooncake is a Chinese bakery product traditionally eaten during the Mid-Autumn Festival. Many types of fillings and crusts can be found in traditional mooncakes according to the regions culture. Now gi…...

MyBatis- plus

实战总结 1.批量插入性能 1.批量插入性能差的原因 使用saveBatch()方法时&#xff0c; MySQL JDBC驱动在默认情况下会无视executeBatch()语句&#xff0c;把我们期望批量执行的一组sql语句拆散&#xff0c;一条一条地发给MySQL数据库&#xff0c;批量插入实际上是单条插入&a…...

从零实现富文本编辑器#5-编辑器选区模型的状态结构表达

先前我们总结了浏览器选区模型的交互策略&#xff0c;并且实现了基本的选区操作&#xff0c;还调研了自绘选区的实现。那么相对的&#xff0c;我们还需要设计编辑器的选区表达&#xff0c;也可以称为模型选区。编辑器中应用变更时的操作范围&#xff0c;就是以模型选区为基准来…...

Day131 | 灵神 | 回溯算法 | 子集型 子集

Day131 | 灵神 | 回溯算法 | 子集型 子集 78.子集 78. 子集 - 力扣&#xff08;LeetCode&#xff09; 思路&#xff1a; 笔者写过很多次这道题了&#xff0c;不想写题解了&#xff0c;大家看灵神讲解吧 回溯算法套路①子集型回溯【基础算法精讲 14】_哔哩哔哩_bilibili 完…...

【项目实战】通过多模态+LangGraph实现PPT生成助手

PPT自动生成系统 基于LangGraph的PPT自动生成系统&#xff0c;可以将Markdown文档自动转换为PPT演示文稿。 功能特点 Markdown解析&#xff1a;自动解析Markdown文档结构PPT模板分析&#xff1a;分析PPT模板的布局和风格智能布局决策&#xff1a;匹配内容与合适的PPT布局自动…...

使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装

以下是基于 vant-ui&#xff08;适配 Vue2 版本 &#xff09;实现截图中照片上传预览、删除功能&#xff0c;并封装成可复用组件的完整代码&#xff0c;包含样式和逻辑实现&#xff0c;可直接在 Vue2 项目中使用&#xff1a; 1. 封装的图片上传组件 ImageUploader.vue <te…...

【android bluetooth 框架分析 04】【bt-framework 层详解 1】【BluetoothProperties介绍】

1. BluetoothProperties介绍 libsysprop/srcs/android/sysprop/BluetoothProperties.sysprop BluetoothProperties.sysprop 是 Android AOSP 中的一种 系统属性定义文件&#xff08;System Property Definition File&#xff09;&#xff0c;用于声明和管理 Bluetooth 模块相…...

从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(九)

设备树移植 和uboot设备树修改的内容同步到kernel将设备树stm32mp157d-stm32mp157daa1-mx.dts复制到内核源码目录下 源码修改及编译 修改arch/arm/boot/dts/st/Makefile&#xff0c;新增设备树编译 stm32mp157f-ev1-m4-examples.dtb \stm32mp157d-stm32mp157daa1-mx.dtb修改…...

12.找到字符串中所有字母异位词

&#x1f9e0; 题目解析 题目描述&#xff1a; 给定两个字符串 s 和 p&#xff0c;找出 s 中所有 p 的字母异位词的起始索引。 返回的答案以数组形式表示。 字母异位词定义&#xff1a; 若两个字符串包含的字符种类和出现次数完全相同&#xff0c;顺序无所谓&#xff0c;则互为…...

Rapidio门铃消息FIFO溢出机制

关于RapidIO门铃消息FIFO的溢出机制及其与中断抖动的关系&#xff0c;以下是深入解析&#xff1a; 门铃FIFO溢出的本质 在RapidIO系统中&#xff0c;门铃消息FIFO是硬件控制器内部的缓冲区&#xff0c;用于临时存储接收到的门铃消息&#xff08;Doorbell Message&#xff09;。…...

LeetCode - 199. 二叉树的右视图

题目 199. 二叉树的右视图 - 力扣&#xff08;LeetCode&#xff09; 思路 右视图是指从树的右侧看&#xff0c;对于每一层&#xff0c;只能看到该层最右边的节点。实现思路是&#xff1a; 使用深度优先搜索(DFS)按照"根-右-左"的顺序遍历树记录每个节点的深度对于…...

深度学习水论文:mamba+图像增强

&#x1f9c0;当前视觉领域对高效长序列建模需求激增&#xff0c;对Mamba图像增强这方向的研究自然也逐渐火热。原因在于其高效长程建模&#xff0c;以及动态计算优势&#xff0c;在图像质量提升和细节恢复方面有难以替代的作用。 &#x1f9c0;因此短时间内&#xff0c;就有不…...