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,…...
基于springboot+vue+elementui的健身房会员管理系统的
为了帮助用户更好的了解和理解程序的开发流程与相关内容,本文将通过六个章节进行内容阐述。 第一章:描述了程序的开发背景,程序运用于现实生活的目的与意义,以及程序文档的结构安排信息; 第二章:描述了程序…...
在酒店房间中的数据库索引
如果你经常去酒店,你会看到一块类似下面的标牌,指引你到达房间。这能够帮助你方便快速地找到房间,特别是当酒店拥有许多房间时。 以一个有9层的酒店为例。你的房间号是917。第一步是找到你的房间在哪一层,通常第一个数字表示楼层…...
Zookeeper学习---2、客户端API操作、客户端向服务端写数据流程
1、客户端API操作 1.1 IDEA 环境搭建 前提:保证 hadoop102、hadoop103、hadoop104 服务器上 Zookeeper 集群服务端启动。 1、创建一个工程: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() 3.4 pop() 3.5 peek() 3.6 empty() 3.7 szie() 4. 栈的应用 1. 概念 栈(Stack)是一种数据结构&…...
CSDN中如何获得铁粉(用心篇)
✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…...
es 三 安装 es 安装kibana
目录 安装7.3.0 版本 下载地址 一个比一个快 页面测试访问 安装kibana 下载 Config/kibana.yml 配置修改开启中文 页面访问 安装7.3.0 版本 下载地址 一个比一个快 Index of /elasticsearch/ 下载中心 - Elastic 中文社区 下载中心 - Elastic 中文社区 官网下载 开箱…...
牛客HJ43迷宫问题 - 创建智能体通过策略自己找路
文章目录 问题描述思路代码C 问题描述 描述 定义一个二维数组 N*M ,如 5 5 数组下所示: 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, }; 它表示一个迷宫,其中的1表示墙壁࿰…...
测试报告模板一
XX测试报告 文档作者: 编写日期: 项目经理: 批准日期: 文档修改纪录表 日期 制修人 修改内容描述 1. 测试项目描述 1.1 测试描述 项目名称...
抖音账号矩阵系统源码/技术开发搭建私有化部署开源
抖音SEO矩阵系统是基于抖音平台的搜索引擎优化技术的一种系统,其主要作用是通过一系列的技术手段,提高抖音视频的曝光和排名,使其获得更多的流量和粉丝。在本文中,我们将介绍抖音SEO矩阵系统的开发技术,包括系统设计、…...
OpenSSL加密解密文件
OpenSSL是一个开源的用以实现SSL协议的产品,它主要包括了三个部分:密码算法库、应用程序、SSL协议库。Openssl实现了SSL协议所需要的大多数算法。 下面介绍使用Openssl进行文件的对称加密操作。 一、Openssl支持的加密算法有: -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()方法时, MySQL JDBC驱动在默认情况下会无视executeBatch()语句,把我们期望批量执行的一组sql语句拆散,一条一条地发给MySQL数据库,批量插入实际上是单条插入&a…...
Java 语言特性(面试系列2)
一、SQL 基础 1. 复杂查询 (1)连接查询(JOIN) 内连接(INNER JOIN):返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...
深入剖析AI大模型:大模型时代的 Prompt 工程全解析
今天聊的内容,我认为是AI开发里面非常重要的内容。它在AI开发里无处不在,当你对 AI 助手说 "用李白的风格写一首关于人工智能的诗",或者让翻译模型 "将这段合同翻译成商务日语" 时,输入的这句话就是 Prompt。…...
springboot 百货中心供应链管理系统小程序
一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,百货中心供应链管理系统被用户普遍使用,为方…...
Opencv中的addweighted函数
一.addweighted函数作用 addweighted()是OpenCV库中用于图像处理的函数,主要功能是将两个输入图像(尺寸和类型相同)按照指定的权重进行加权叠加(图像融合),并添加一个标量值&#x…...
基于Uniapp开发HarmonyOS 5.0旅游应用技术实践
一、技术选型背景 1.跨平台优势 Uniapp采用Vue.js框架,支持"一次开发,多端部署",可同步生成HarmonyOS、iOS、Android等多平台应用。 2.鸿蒙特性融合 HarmonyOS 5.0的分布式能力与原子化服务,为旅游应用带来…...
【ROS】Nav2源码之nav2_behavior_tree-行为树节点列表
1、行为树节点分类 在 Nav2(Navigation2)的行为树框架中,行为树节点插件按照功能分为 Action(动作节点)、Condition(条件节点)、Control(控制节点) 和 Decorator(装饰节点) 四类。 1.1 动作节点 Action 执行具体的机器人操作或任务,直接与硬件、传感器或外部系统…...
大语言模型(LLM)中的KV缓存压缩与动态稀疏注意力机制设计
随着大语言模型(LLM)参数规模的增长,推理阶段的内存占用和计算复杂度成为核心挑战。传统注意力机制的计算复杂度随序列长度呈二次方增长,而KV缓存的内存消耗可能高达数十GB(例如Llama2-7B处理100K token时需50GB内存&a…...
使用Matplotlib创建炫酷的3D散点图:数据可视化的新维度
文章目录 基础实现代码代码解析进阶技巧1. 自定义点的大小和颜色2. 添加图例和样式美化3. 真实数据应用示例实用技巧与注意事项完整示例(带样式)应用场景在数据科学和可视化领域,三维图形能为我们提供更丰富的数据洞察。本文将手把手教你如何使用Python的Matplotlib库创建引…...
iOS性能调优实战:借助克魔(KeyMob)与常用工具深度洞察App瓶颈
在日常iOS开发过程中,性能问题往往是最令人头疼的一类Bug。尤其是在App上线前的压测阶段或是处理用户反馈的高发期,开发者往往需要面对卡顿、崩溃、能耗异常、日志混乱等一系列问题。这些问题表面上看似偶发,但背后往往隐藏着系统资源调度不当…...
七、数据库的完整性
七、数据库的完整性 主要内容 7.1 数据库的完整性概述 7.2 实体完整性 7.3 参照完整性 7.4 用户定义的完整性 7.5 触发器 7.6 SQL Server中数据库完整性的实现 7.7 小结 7.1 数据库的完整性概述 数据库完整性的含义 正确性 指数据的合法性 有效性 指数据是否属于所定…...
