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

news2024/11/23 13:18:12

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可以都搞定;推送的时候有可能要输入用户名密码

在这里插入图片描述


希望可以帮助到您

~感谢您的光临~

在这里插入图片描述

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

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

相关文章

HBase2.2.2安装(单机、伪分布)

系列文章目录 Ubuntu常见基本问题 Hadoop3.1.3安装(单机、伪分布) Hadoop集群搭建 HBase2.2.2安装(单机、伪分布) Zookeeper集群搭建 文章目录 系列文章目录前置条件一、HBase2.2.2安装二、配置环境变量1、问题 三、单机模式1、修…

浅谈数字化

一、数字化转型 数字化转型(Digital transformation)是建立在数字化转换(Digitization)、数字化升级(Digitalization)基础上,进一步触及公司核心业务,以新建一种商业模式为目标的高…

仙人掌之歌——权力的游戏(3)

像疯子一样死去 陈速没想到李通是在香山深处一所疗养院里休养,军方的岗位森严,进去还得把身份证押在门卫室。李通穿着病号服悠哉地晃过来把陈速领了进去。 “通哥,这儿真是个好地方啊。” 陈速由衷地赞叹着,望着大院里古树参天&…

九、Spring Cloud—gateway网关

一、引言 每个微服务都需和前端进行通信,解决每个微服务请求时的鉴权、限流、权限校验、跨域等逻辑,放在一个统一的地方进行使用。 在微服务架构中,网关是一个重要的组件,它作为系统的入口,负责接收所有的客户端请求…

Shiro高级及SaaS-HRM的认证授权

Shiro高级及SaaS-HRM的认证授权 Shiro在SpringBoot工程的应用 Apache Shiro是一个功能强大、灵活的,开源的安全框架。它可以干净利落地处理身份验证、授权、企业会话管理和加密。越来越多的企业使用Shiro作为项目的安全框架,保证项目的平稳运行。 在之…

前端042_图表展现_自适应

自适应 当缩小窗口时,饼图和柱状图不会自动自适应,会被遮挡住。因为 ECharts 本身并不是自适应的,当你父级容器的宽度发生变化的时候需要手动调用它的 .resize() 方法。 其中 vue-element-admin项目中已经实现了自适应效果,只要将对应代码拷贝引用即可。将 vue-element-adm…

Java中的this、package、import

this 在Java中,this的作用和其词义很接近。 它在方法内部使用,即这个方法所属对象的引用; 它在构造器内部使用,表示该构造器正在初始化的对象。 this 可以调用类的属性、方法和构造器 什么时候使用this关键字呢&#xff…

使用kettle进行日志分析

分析日志是一个大数据分析中较为常见的场景。在Unix类操作系统里,Syslog广泛被应用于系统或者应用的日志记录中。Syslog通常被记录在本地文件内,比如Ubuntu内为/var/log/syslog文件名,也可以被发送给远程Syslog服务器。Syslog日志内一般包括产…

机构的专属的线上招生 教学小程序搭建教程

小程序已经成为了很多教育机构的招生、推广重要渠道之一。相比于传统的网站或APP而言,小程序更加轻量级,更加易于传播和分享。在小程序搭建过程中,无需编写复杂的代码,只需要根据模板进行简单的操作,就可以轻松打造自己…

【Web开发技术】JWT令牌技术(信息安全)

文章目录 一、描述二、依赖三、配置四、java文件中的准备五、开始使用 一、描述 说到JWT令牌技术,就需要提到cookie和session两种技术。这两种技术在跨域问题(计算机网络的知识,百度可以搜到,就回归重点)上存在一定的局…

《智能新工厂规划白皮书》下 | “四步”规划智能工厂

中国制造业有着最大制造产能、最强配套能力和最大消费市场三个无可比拟的优势,随着产能升级,众企业的新工厂会开展智能工厂规划布局,从而实现降本减耗、提高效益的经营目标,以增强企业市场竞争力。 新工厂规划时,企业…

【GitHub已开源】某博热点事件评论数据分析与用户情感分析平台完整项目

找遍全网无奈只能自己开发某博热点评论数据爬取与用户情感分析平台,这就是技术人的创新! 最近想看一下微博热点评论的用户人群情感趋势,想到的就是去爬取某博的评论数据,然后进行一个可视化的情感分析。想想吧,这个项目…

RPC核心原理

大家好,我是易安,今天我们一起来研究下RPC的核心原理。 什么是RPC? RPC的全称是Remote Procedure Call,即远程过程调用。简单解读字面上的意思,远程肯定是指要跨机器而非本机,所以需要用到网络编程才能实现…

用Gmail邮箱注册任天堂日本区账号

任天堂是一家日本公司,日区的任天堂可以买到常驻的任亏券,兑换任天堂第一方游戏,而且经常搞活动,可以买到低价的游戏。 首先进入任天堂官网 https://accounts.nintendo.com/register 注册账号 比如我的Gmail邮箱为 zhaooleegma…

EBU6304 Software Engineering 知识点总结_3 requirements

requirements 确定需求是软工设计中最重要的部分。 feature to satisfy customer. indicates what should this sys do. 可能是高层抽象的需求 high-level abstract 或者底层具体的 low-level specific. Stakeholder 利益相关者:受系统影响的组织或个人&#x…

STM32驱动W25Q64---笔记

这次来分享最近经常用到的知识点----FLASH 初学者会疑惑,有了EEPROM为什么还要用W25Q64呢?(笔者一开始就百思不得其解) 答: EEPROM和W25Q64都是用于数据存储的存储器,它们各有优缺点,需要根据…

chatgpt赋能python:Python的修改及其对SEO的影响

Python的修改及其对SEO的影响 介绍 Python是一种高级编程语言,以其简单易学和功能强大而闻名。它被广泛用于开发各种应用程序,从网站到机器学习和大数据分析。Python不断更新和改进,新版本带来了许多新功能和改进,这些修改对SEO…

如何读取带空格的字符串?

scanf()函数在读取字符时,识别到空格就会终止读取,那么如何读取带空格的字符串呢? 一、gets()(gets_s()) 从标准输入(stdin)(指的是键盘输入)读取字符,并将它们作为 C 字符串存储到…

1688详情 sign签名分析

本文仅供学习交流,只提供关键思路不会给出完整代码,严禁用于非法用途,若有侵权请联系我删除! 网站地址:aHR0cHM6Ly9kZXRhaWwuMTY4OC5jb20vb2ZmZXIvNzEzNDMzMDYyOTUzLmh0bWw 接口:aHR0cHM6Ly9oNWFwaS5tLjE…

软件工程学复习笔记

目录 软件工程学概述软件危机的典型表现、产生原因、消除途径软件的构成:程序、数据、文档软件工程的七点特性软件工程的七条基本原理软件工程方法:传统方法学,面向对象方法学软件的生命周期:三个时期,软件定义&#x…