当前位置: 首页 > 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…...

Java --- 期末复习卷

一、单选题 1&#xff0e;所有Java应用程序主类必须有一个名叫( )的方法。[ ] A&#xff0e;method B&#xff0e;main() C&#xff0e;java() D&#xff0e;hello 2&#xff0e;编写并保存了一个Java程序文件之后&#xff0c;( )它。[ …...

File类与IO流相关面试知识(一)

一.java.io.File类 作用&#xff1a;它的作用是用来表示某个文件或文件夹&#xff08;文件夹又称为目录&#xff09; 如何用File类的对象表示一个文件或目录的呢&#xff1f; API文档中描述&#xff1a;文件和目录路径名的抽象表示形式 解释&#xff1a;如果要表示一个文件…...

009 - STM32学习笔记 - 中断

009 - STM32学习笔记 - 中断 这节的内容&#xff0c;野火的官方视频我反复看了好几次&#xff0c;但是感觉火哥在这块讲解的特别绕&#xff0c;理解起来很吃力&#xff0c;后来在看了一下其他老师的视频&#xff0c;结合一些书本资料和官方手册&#xff0c;才搞清楚STM32中断该…...

分享几种js格式化金额的方法

一、使用 Intl.NumberFormat 构造函数 这是 JavaScript 中格式化金额的最常见方法。Intl.NumberFormat()构造函数接受两个参数&#xff1a;语言环境和选项。语言环境是为其格式化金额的语言和地区。选项是一组控制金额格式的属性。例如&#xff0c;可以使用样式属性来指定货币…...

圣墟传说H5手工端搭建架设教程

圣墟传说H5手工端搭建架设教程 大家好&#xff0c;我是艾西。今天给大家带来的游戏是由小说改编而来的大型玄幻MMORPG仙侠手游&#xff0c;也是比较老的游戏了虽然你可能没有怎么听过&#xff0c;但总会有一批喜欢的玩家热衷于它。 那么让我们直接进入正题开始操作&#xff1…...

编程(40)----------单例模式

在简单总结单例模式之前, 需要了解一下背景知识-----为何会有单例模式? 想象一个这样的场景, 打游戏的时候, 尝试很多次, 都未通关. 这种情况下是否会考虑查一下攻略? 一个好的攻略甚至可能连每一关的每一个场景由多少只怪物都说的清清楚楚. 再比如, 在以前上学的时候, 为了…...

Java开发 - 让你少走弯路的Redis主从实现单节点哨兵模式

前言 前一篇中&#xff0c;我们讲解了Redis主从的搭建方式&#xff0c;其实很简单呐有木有&#xff0c;都是配置&#xff0c;连句代码都没有&#xff0c;是不是感觉高估了Redis主从的搭建方式&#xff1f;哈哈&#xff0c;没关系&#xff0c;跟着博主&#xff0c;包你全会。今…...

Java的Atomic原子类

Java SDK 并发包里提供了丰富的原子类&#xff0c;我们可以将其分为五个类别&#xff0c;这五个类别提供的方法基本上是相似的&#xff0c;并且每个类别都有若干原子类。 对基本数据类型的变量值进行原子更新&#xff1b;对对象变量的指向进行原子更新&#xff1b;对数组里面的…...

离线语音控制新方案,NRK3303语音识别芯片在智能风扇的应用

随着科技的不断发展&#xff0c;智能家居已经成为人们日常生活中不可或缺的一部分&#xff0c;涌现出越来越多的智能设备&#xff0c;如智能门锁、智能灯泡、智能冰箱等&#xff0c;这些设备为人们的生活带来了更多的便利和创新。其中作为常见的风扇通过添加智能语音控制功能&a…...

在树莓派3B+上安装Pytorch1.7

在树莓派3B上安装Pytorch1.7(应该是最简单的方法了)_package libopenblas-dev has no installation cand_Chauncey_Wang的博客-CSDN博客由于项目要求&#xff0c;我需要在树莓派上安装pytorch这就有几个问题&#xff0c;首先吧&#xff0c;咱们和外面之间有一道长城&#xff0c…...