【Git常用命令及在IDEA中的使用】

news2024/11/17 7:24:51

Git常用命令及在IDEA中的使用

  • Git常用命令及在IDEA中的使用
  • 1 Git 概述
    • 1.1 Git 简介
    • 1.2 Git 下载与安装
  • 2 Git 代码托管服务
    • 2.1 常用的Git 代码托管服务
    • 2.2 使用码云代码托管服务
  • 3 Git 常用命令
    • 3.1 Git 全局设置
    • 3.2 获取 Git 仓库
    • 3.3 工作区、暂存区、版本库 概念
    • 3.4 Git工作区中文件的状态
    • 3.5 本地仓库操作
    • 3.6 远程仓库操作
    • 3.7 分支操作
    • 3.8 标签操作
  • 4 在IDEA中使用Git
    • 4.1 在IDEA中配置Git
    • 4.2 IDEA中操作Git

Git常用命令及在IDEA中的使用

1 Git 概述

1.1 Git 简介

Git 是一个分布式版本控制工具,通常用来对软件开发过程中的源代码文件进行管理。通过Git 仓库来存储和管理这些文件,Git 仓库分为两种:

  • 本地仓库:开发人员自己电脑上的 Git 仓库
  • 远程仓库:远程服务器上的 Git 仓库

1

commit:提交将本地文件和版本信息保存到本地仓库

push:推送,将本地仓库文件和版本信息上传到远程仓库

pull: 拉取,将远程仓库文件和版本信息下载到本地仓库

1.2 Git 下载与安装

下载地址: https://git-scm.com/download

2

下载完成后得到安装文件:Git-2.20.164-bit.exe

安装完成后在任意目录点击鼠标右键,如果能看到如下菜单则表示安装完成

3

  • Git GUI Here: 打开Git 图形界面
  • Git Bash Here: 打开Git 命令行

2 Git 代码托管服务

2.1 常用的Git 代码托管服务

Git中存在两种类型的仓库,即本地仓库和远程仓库。那么我们如何搭建Git远程仓库呢?
我们可以借助互联网上提供的一些代码托管服务来实现,其中比较常用的有GitHub、码云、GitLab等。

  • gitHub( 地址: https://github.com/),是一个面向开源及私有软件项目的托管平台,因为只支持Git 作为唯的版本库格式进行托管,故名gitHub
  • 码云(地址: https://gitee.com/),是国内的一个代码托管平台,由于服务器在国内,所以相比于GitHub,码云速度会更快
  • GitLab(地址: https://about.gitlab.com/),是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务
  • BitBucket(地址: https://bitbucket.org/) ,是一家源代码托管网站,采用Mercurial和Git作为分布式版本控制系统,同时提供商业计划和免费账户

2.2 使用码云代码托管服务

使用码云的操作流程如下
1、注册码云账号
2、登录码云
3、创建远程仓库
4、邀请其他用户成为仓库成员

3 Git 常用命令

3.1 Git 全局设置

当安装Git后首先要做的事情是设置用户名称和email地址。这是非常重要的,因为每次Git提交都会使用该用户信息。
在Git 命令行中执行下面命令:

  • 设置用户信息
git config --global user.name "itcast"
git config --global user.email "hello@itcast.cn"
  • 看配置信息
git config --list

注意:上面设置的user.name和user.email并不是我们在注册码云账号时使用的用户名和邮箱,此处可以任意设置。

3.2 获取 Git 仓库

获取Git仓库通常有两种方式:

  • 在本地初始化一个Git仓库 (不常用)

执行步骤如下:

  1. 在任意目录下创建一个空目录(例如repo1)作为我们的本地Git仓库
  2. 进入这个目录中,点击右键打开Git bash窗口
  3. 执行命令git init

如果在当前目录中看到.git文件夹(此文件夹为隐藏文件夹)则说明Git仓库创建成功

  • 从远程仓库克隆(常用)

可以通过Git提供的命令从远程仓库进行克隆,将远程仓库克隆到本地

命令形式: git clone [远程Git仓库地址]

3.3 工作区、暂存区、版本库 概念

**版本库:**前面看到的.git隐藏文件夹就是版本库,版本库中存储了很多配置信息、日志信息和文件版本信息等

**工作区:**包含.git文件夹的目录就是工作区,也称为工作目录,主要用于存放开发的代码

暂存区:.git文件夹中有很多文件,其中有一个index文件就是暂存区,也可以叫做stage。暂存区是一个临时保存修改文件的地方

4

3.4 Git工作区中文件的状态

Git工作区中的文件存在两种状态:

  • untracked 未跟踪(未被纳入版本控制)
  • tracked 已跟踪(被纳入版本控制)
    1. Unmodified 未修改状态
    2. Modified 已修改状态
    3. staged 已暂存状态

注意: 这些文件的状态会随着我们执行Git的命令发生变化

3.5 本地仓库操作

本地仓库常用命令如下

git status  #查看文件状态
git add		#将文件的修改加入暂存区
git reset	#将暂存区的文件取消暂存或者是切换到指定版本
git commit -m "message" <file> #将暂存区的文件修改提交到版本库	
git log		#查看日志

3.6 远程仓库操作

远程仓库的一些操作,具体包括:

git remote		#查看远程仓库
git remote add <shortname> <url> #添加远程仓库
git clone <url> #从远程仓库克隆
git pull <remotr-name> <branch-name> #从远程仓库拉取 
git push <remotr-name> <branch-name> #推送到远程仓库		
  • 如果想查看已经配置的远程仓库服务器,可以运行 dit remote 命令,它会列出每一个远程服务器的简写如果已经克隆了远程仓库,那么至少应该能看到 origin ,这是 Git 克隆的仓库服务器的默认名字。

5

  • 注意:如果当前本地仓库不是从远程仓库克隆,而是本地创建的仓库,并且仓库中存在文件,此时再从远程仓库拉取文件的时候会报错 (fatal: refusing to merge unrelated histories )

解决此问题可以在git pull命令后加入参数--allow-unrelated-histories

3.7 分支操作

分支是Git 使用过程中非常重要的概念。使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线。同一个仓库可以有多个分支,各个分支相互独立,互不干扰。

通过git init 命令创建本地仓库时默认会创建一个master分支

关于分支的相关命令,具体如下:

git branch			# 查看分支
git branch [name]	# 创建分支
git checkout [name]	# 切换分支
git push [shortName][name]	# 推送至远程仓库分支
git merge [name] 	# 合并分支
  • 分支操作-查看分支
    git branch 列出所有本地分支
    git branch -r 列出所有远程分支
    git branch -a 列出所有本地分支和远程分支

6

  • merge 合并分支后,会弹出编辑模式,输入i可以编辑合并信息,按esc键,输入:wq,表示保存退出

  • merge合并操作出现冲突后,需要手动修改文件,然后再执行add操作,提交时需要在commit 后添加-i参数

    7

3.8 标签操作

Git 中的标签,指的是某个分支某个特定时间点的状态。通过标签,可以很方便的切换到标记时的状态。比较有代表性的是人们会使用这个功能来标记发布结点 (v1.0、v1.2等)。

下和标签相关的命令:

git tag			# 列出已有的标签
git tag [name]	# 创建标签
git push [shortName] [name] # 将标签推送至远程仓库
git checkout -b [branch][name] # 检出标签

4 在IDEA中使用Git

4.1 在IDEA中配置Git

在IDEA中使用Git,本质上还是使用的本地安装的Git软件,所以需要在IDEA中配置Git。

8

在设置中选择 Git , 将git.exe的路径地址配置到响应位置,点击Test, 出现版本号,即配置完成。

  • 本地仓库初始化

9

10

  • 远程仓库初始化

11

或者

12

13

  • 出现这个工具栏表示已添加仓库。

14

  • 创建仓库时,要初始化仓库,一般要选择.gitignore模板

15

4.2 IDEA中操作Git

  • 右击需要提交的文件,选择Git,commit 提交,push推送,pull拉取等操作。

  • 或者使用工具栏快捷方式,下拉箭头表示拉去,对号表示提交与推送。

  • 16

  • 分支,在软件右下角可以进行切换、合并等操作

资料来源:黑马程序员,瑞吉外卖

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

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

相关文章

MyBatis面试题总结

1.概念/使用方法向的问题 1.1 什么是Mybatis? &#xff08;1&#xff09;Mybatis是一个半ORM框架&#xff0c;它内部封装了JDBC&#xff0c;开发时只需要关注SQL语句本身&#xff0c;不需要花费精力去处理加载驱动、创建连接、创建statement等繁杂的过程。 &#xff08;2&a…

​​​​SpringBoot 监控神器——Actuator 保姆级教程

pom.xml info beans conditions heapdump shutdown mappings threaddump loggers 端点 metrics 端点 自定义Endpoint 自定义监控端点常用注解 使用Filter对访问actuator做限制 Spring Boot Monitor做监控页面 SpringBoot自带监控功能Actuator&#xff0c;可以帮助…

Kubernetes学习笔记-kubernetes应用扩展(2)-使用kubernetes服务目录扩展kubernetes20230623

一、服务目录介绍 服务目录就是列出所有的服务的目录。用户可以浏览目录并自行设置目录中列出的服务实例&#xff0c;无须处理服务运行所需的pod、service、configmap和其他资源。这听起来和自定义网站资源很类似。 服务目录并不会为每种服务类型的api服务器添加自定义资源&a…

全栈开发实战那些事

文章目录 一个网站是怎么来的&#xff1f; Git篇隔离项目和原有Git工程联系Git冲突的原因通常有以下几种&#xff1a; IDEA篇IDEA常用操作Git可视化操作&#xff08;提交代码前先pull更新merge最新版本一下再push&#xff0c;保证提交的最终项目是最新&#xff09; IDEA中Git冲…

Jenkins 发送文件到远程服务器:Publish Over SSH 插件

Jenkins 发送文件到远程服务器&#xff1a;Publish Over SSH 插件 文章目录 Jenkins 发送文件到远程服务器&#xff1a;Publish Over SSH 插件一、Publish Over SSH 插件1、概述2、主要功能和特点3、插件主页4、安装 Publish Over SSH 插件5、配置远程主机 二、发送文件到远程主…

Python基础篇(七):面向对象的编程思想

面向对象 前言1. 面向对象编程思想1.1 面向对象的相关概念1.2 面向对象的三大特性 2. 类的定义2.1 使用class关键字定义类2.2 创建类对象并调用属性和方法 3.面向对象思想示例3.1 详细示例&#xff1a;图形类的设计3.2 基类 Shape3.3 子类 Circle3.4 子类 Rectangle3.5 使用图形…

【Java-SpringBoot+Vue+MySql】Day5-前端进阶

目录 一、Axios网络请求 中文文档&#xff1a; 安装&#xff1a; 导入&#xff1a; 使用方法&#xff1a; 基本语法&#xff1a; 生命周期函数&#xff1a; 二、前端路由VueRouter 视频&#xff1a;12.前端路由VueRouter_哔哩哔哩_bilibili 参考文档: 三、状态管理VueX …

Linux设备驱动程序(三)——字符驱动

文章目录 前言一、scull 的设计二、主设备号和次设备号1、设备编号的内部表达2、分配和释放设备编号3、主编号的动态分配 三、一些重要的数据结构1、文件操作&#xff08;file_operation&#xff09;2、文件结构&#xff08;struct file&#xff09;3、inode 结构 四、字符设备…

【软件设计师暴击考点】黄金五题套路拿

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 秩沅 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a;软件…

AutoSAR系列讲解(入门篇)2.1-AppL概述

AppL概述 开局一张Autosar的框架图&#xff1a; 一、AppL的组成 二、先来举个例子 三、SWC的通信 四、SWC的分配 开局一张Autosar的框架图&#xff1a; 一、AppL的组成 AppL中最重要的就是SWC了&#xff0c;而SWC与其他SWC通信需要接口&#xff0c;每个SWC中又由runnable…

【C++篇】OOP上部分:封装类和对象

友情链接&#xff1a;C/C系列系统学习目录 知识总结顺序参考C Primer Plus&#xff08;第六版&#xff09;和谭浩强老师的C程序设计&#xff08;第五版&#xff09;等&#xff0c;内容以书中为标准&#xff0c;同时参考其它各类书籍以及优质文章&#xff0c;以至减少知识点上的…

C++【STL】之反向迭代器

反向迭代器 前面在vector和list的模拟实现中都有讲到正向迭代器&#xff0c;今天我们就来讲解一下反向迭代器的思想和模拟实现&#xff0c;在某些场景下还是很实用的&#xff0c;下面正文直接开始。 文章目录&#xff1a; 反向迭代器1. 反向迭代器结构2. 反向迭代器实现2.1 多…

一起学AI:核心基础概念

一起学AI&#xff1a;核心基础概念 AI基础概念什么是学习率&#xff1f;batchsize和epoch分别是什么&#xff1f;梯度消失与梯度爆炸是什么&#xff1f;什么是过拟合、欠拟合和泛化&#xff1f;归一化、正则化、标准化是什么&#xff1f;线性回归和逻辑回归是什么&#xff1f;神…

端午特别征文

前言 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; 韩顺平教育的java坦克大战 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 一、Java绘图技术 1.g.drawOval()是什么&#xff1f; 画椭圆函数g.drawOval(); (宽高时候为圆形) …

Kafka系列之:一次性传送和事务消息传递

Kafka系列之&#xff1a;一次性传送和事务消息传递 一、目标二、关于事务和流的一些知识三、公共接口四、示例应用程序五、新配置六、计划变更1.幂等生产者保证2.事务保证 七、关键概念八、数据流九、授权十、RPC 协议总结1.获取请求/响应2.生产请求/响应3.ListOffset请求/响应…

GIT —— 基本操作,分支管理,远程操作

GIT 企业开发 最近找实习&#xff0c;在完善简历&#xff0c;遂发一发存货&#xff0c;有待持续完善&#xff0c;我认为这部分非常的有意义 1. 基本操作 1.1 创建&#xff0c;配置本地仓库 创建 mkdir gitcode cd gitcode git init配置 git config user.name "bts&quo…

HTTP 超文本传输协议

1.HTTP&#xff08;Hypertext Transfer Protocol&#xff0c;超文本传输协议&#xff09; 是一种用于传输超媒体文档&#xff08;例如HTML文件&#xff0c;可以包含文本&#xff0c;视频&#xff0c;图片&#xff0c;音乐&#xff0c;地图定位&#xff09;的应用层协议&#x…

【windows10】查看计算机的WIFI密码

【windows10】查看计算机的WIFI密码 1、背景2、操作 1、背景 无线路由器设置完密码后&#xff0c;经常会忘记。 当有新的设备需要接入网络的时候&#xff0c;如何能快速获得wifi密码呢&#xff1f; 本博客分享一种通过已联网的计算机来查看wifi密码。 2、操作 -step-2.1、打…

阿里云服务器的备案流程和规定如何?如何办理备案手续?

阿里云服务器的备案流程和规定如何&#xff1f;如何办理备案手续&#xff1f;   一、备案流程概述   阿里云服务器的备案流程分为五个主要步骤&#xff1a;1&#xff09;实名认证&#xff1b;2&#xff09;填写备案信息&#xff1b;3&#xff09;上传资料&#xff1b;4&…

Web服务器群集:链路聚合与桥接

目录 一、理论 1.链路聚合 2.bond模式 3.team模式 4.bond和team区别 二、实验 1.实现bond网络接口 2.实现team网络接口 三、总结 一、理论 1.链路聚合 &#xff08;1&#xff09;概念 链路聚合&#xff08;Link Aggregation&#xff09;&#xff0c;它是一个计算机…