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…...
uniapp 对接腾讯云IM群组成员管理(增删改查)
UniApp 实战:腾讯云IM群组成员管理(增删改查) 一、前言 在社交类App开发中,群组成员管理是核心功能之一。本文将基于UniApp框架,结合腾讯云IM SDK,详细讲解如何实现群组成员的增删改查全流程。 权限校验…...

Docker 离线安装指南
参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性,不同版本的Docker对内核版本有不同要求。例如,Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本,Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...

大数据学习栈记——Neo4j的安装与使用
本文介绍图数据库Neofj的安装与使用,操作系统:Ubuntu24.04,Neofj版本:2025.04.0。 Apt安装 Neofj可以进行官网安装:Neo4j Deployment Center - Graph Database & Analytics 我这里安装是添加软件源的方法 最新版…...

K8S认证|CKS题库+答案| 11. AppArmor
目录 11. AppArmor 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作: 1)、切换集群 2)、切换节点 3)、切换到 apparmor 的目录 4)、执行 apparmor 策略模块 5)、修改 pod 文件 6)、…...

练习(含atoi的模拟实现,自定义类型等练习)
一、结构体大小的计算及位段 (结构体大小计算及位段 详解请看:自定义类型:结构体进阶-CSDN博客) 1.在32位系统环境,编译选项为4字节对齐,那么sizeof(A)和sizeof(B)是多少? #pragma pack(4)st…...

遍历 Map 类型集合的方法汇总
1 方法一 先用方法 keySet() 获取集合中的所有键。再通过 gey(key) 方法用对应键获取值 import java.util.HashMap; import java.util.Set;public class Test {public static void main(String[] args) {HashMap hashMap new HashMap();hashMap.put("语文",99);has…...
Cesium1.95中高性能加载1500个点
一、基本方式: 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...

《从零掌握MIPI CSI-2: 协议精解与FPGA摄像头开发实战》-- CSI-2 协议详细解析 (一)
CSI-2 协议详细解析 (一) 1. CSI-2层定义(CSI-2 Layer Definitions) 分层结构 :CSI-2协议分为6层: 物理层(PHY Layer) : 定义电气特性、时钟机制和传输介质(导线&#…...

基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容
基于 UniApp + WebSocket实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...
python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)
更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...