Git 常用命令详解及如何在IDEA中操作

文章目录

  • 前言
  • 发现宝藏
  • 一、初识Git
    • 1.Git概述
    • 2. Git的功能
    • 3. Git运行图示
  • 二、Git下载安装
  • 三、Git 代码托管服务
    • 1.常用的 Git 代码托管服务
    • 2.使用码云代码托管服务
  • 四、Git 常用命令
    • 1.Git 全局设置
    • 2.获取Git 仓库
    • 3.工作区、暂存区、版本库 概念
    • 4.Git 工作区中文件的两种状态
    • 5.本地仓库常用命令
    • 6.远程仓库操作
    • 8.分支操作
    • 9.标签操作
  • 五、在IDEA中使用Git
    • 1.在IDEA中配置 Git
    • 2.获取Git仓库
    • 3.本地仓库操作
    • 4.远程仓库操作
    • 5.分支操作


前言

为了巩固所学的知识,作者尝试着开始发布一些学习笔记类的博客,方便日后回顾。当然,如果能帮到一些萌新进行新技术的学习那也是极好的。作者菜菜一枚,文章中如果有记录错误,欢迎读者朋友们批评指正。
(博客的参考源码可以在我主页的资源里找到,如果在学习的过程中有什么疑问欢迎大家在评论区向我提出)

发现宝藏

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。【宝藏入口】。

一、初识Git

1.Git概述

Git是一个分布式版本控制工具,主要用于管理开发过程中的源代码文件 (Java类、xml文件、html页面等)在软件开发过程中被广泛使用Git 仓库分为两种:

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

2. Git的功能

  1. 代码回溯
  2. 版本切换
  3. 多人协作
  4. 远程备份

3. Git运行图示

  1. commit:提交将本地文件和版本信息保存到本地仓库
  2. push: 推送,将本地仓库文件和版本信息上传到远程仓库
  3. pull:拉取,将远程仓库文件和版本信息下载到本地仓库>

在这里插入图片描述

二、Git下载安装

一直点下一步就行

在这里插入图片描述

在这里插入图片描述

  1. Git GUl Here:打开Git 图形界面
  2. Git Bash Here:打开Git 命令行

三、Git 代码托管服务

1.常用的 Git 代码托管服务

  • Git中存在两种类型的仓库,即本地仓库和远程仓库。那么我们如何搭建Git远程仓库呢?
  • 我们可以借助互联网上提供的一些代码托管服务来实现,其中比较常用的有GitHub、码云、GitLab等
  1. gitHub( 地址: htps://github.com/),是一个面向开源及私有软件项目的托管平台,因为只支持Git 作为唯-的版本库格式进行托管,故名gitHub
  2. 码云(地址: https://gitee.com/),是国内的一个代码托管平台,由于服务器在国内,所以相比于GitHub,码云速度会更快
  3. GitLab (地址: https://about.gitlab.com/),是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务
  4. BitBucket(地址: htos://bitbucket.org/) ,是一家源代码托管网站,采用Mercurial和Git作为分布式版本控制系统,同时提供商业计划和免费账户

2.使用码云代码托管服务

1. 使用码云的操作流程如下:

  1. 注册码云账号
  2. 登录码云
  3. 创建远程仓库
  4. 邀请其他用户成为仓库成员

2. 注册码云账号

在这里插入图片描述

3. 使用码云代码托管服务-创建远程仓库

在这里插入图片描述

4. 创建完成后可以查看仓库信息

在这里插入图片描述

注意:每个Git远程仓库都会对应一个网络地址,点击[克隆/下载] 按钮,在弹出窗口点击复制]按钮获得网络地址

5. 使用码云代码托管服务-邀请其他用户成为仓库成员

前面已经在码云上创建了自己的远程仓库,目前仓库成员只有自己一个人(身份为管理员)。在企业实际开发中,一个项目往往是由多个人共同开发完成的,为了使多个参与者都有权限操作远程仓库,就需要邀请其他项目参与者成为当前仓库的成员

在这里插入图片描述

四、Git 常用命令

1.Git 全局设置

  • 当安装Git后首先要做的事情是设置用户名称和email地址。这是非常重要的,因为每次Git提交都会使用该用户信息
  • 在Git 命令行中执行下面命令(任意目录鼠标右键,双击选项Git Bash Here)
  1. 设置用户信息
    git config --global user.name “dongli”
    git config --global user.email “2730732500@qq.com”
  2. 查看配置信息
    git config --list

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

在这里插入图片描述

2.获取Git 仓库

  • 要使用Git对我们的代码进行版本控制,首先需要获得Git仓库。
  • 获取Git仓库通常有两种方式
  1. 在本地初始化一个Git仓库 (不常用 )
  2. 从远程仓库克隆(常用)

1. 本地初始化Git仓库执行步骤

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

在这里插入图片描述

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

2. 从远程仓库克隆(常用)

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

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

在这里插入图片描述

3.工作区、暂存区、版本库 概念

  1. 版本库: 前面看到的.git隐藏文件夹就是版本库,版本库中存储了很多配置信息、日志信息和文件版本信息等
  2. 工作区: 包含.git文件夹的目录就是工作区,也称为工作目录,主要用于存放开发的代码
  3. 暂存区: .git文件夹中有很多文件,其中有一个index文件就是暂存区,也可以叫做stage。暂存区是一个临时保存修改文件的地方

在这里插入图片描述

4.Git 工作区中文件的两种状态

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

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

在这里插入图片描述

5.本地仓库常用命令

  1. git status – 查看文件状态
  2. git add – 将文件的修改加入暂存区
    例1:git add he11o.txt
  3. git reset – 将暂存区的文件取消暂存或者是切换到指定版本(log中找版本号)
    例1:git reset he11o.txt
    例2:git reset --hard 090950e68ecc099c5c021194d14b18d713880b75
  4. git commit – 将暂存区的文件修改提交到版本库
    例1:git commit -m “edit User.java“ User.java
  5. git log – 查看日志

6.远程仓库操作

前面执行的命令操作都是针对的本地仓库,本节我们会学习关于远程仓库的一些操作,具体包括

  1. git remote – 查看远程仓库
    例1:git remote -v
  2. git remote add – 添加远程仓库、
    格式:git remote add <简称> <远程仓库地址>
    例1:git remote add origin https://gitee.com/ChuanZhiBoke/repol.git
  3. git clone – 从远程仓库克降
  4. git pull – 从远程仓库拉取(删除)
    格式:git pull [远程仓库别名] [分支的名称]
  5. git push – 推送到远程仓库
    格式:git push [远程仓库别名] [分支的名称l
    例1:git push origin master(添加)

1.注意是否是远程仓库所在的文件目录
2.文件先添加到缓存区,再提交到本地仓库,最后推送到远程仓库进行同步
3.如果当前本地仓库不是从远程仓库克隆,而是本地创建的仓库,并且仓库中存在文件,此时再从远程仓库拉取文件的时候会报错,可以在git pull命令后加入参数--allow-unrelated-histories

8.分支操作

  • 分支是Git 使用过程中非常重要的概念。使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线同一个仓库可以有多个分支,各个分支相互独立,互不干扰。
  • 通过git init 命令创建本地仓库时默认会创建一个master分支,关于分支的相关命令具体如下:
  1. git branch – 查看分支
    git branch -r – 列出所有远程分支
    git branch -a – 列出所有本地分支和远程分支
  2. git branch [name] – 创建分支
  3. git checkoutIname] – 切换分支
  4. git push[shortName][name] – 推送至远程仓库分支
  5. git merge [name] – 合并分支

9.标签操作

  • Git 中的标签,指的是某个分支某个特定时间点的状态。
  • 通过标签,可以很方便的切换到标记时的状态比较有代表性的是人们会使用这个功能来标记发布结点 (v1.0、1.2等)。和标签相关的命令如下:
  1. git tag --列出已有的标签
  2. git tag [name] – 创建标签
  3. git push [shortName][name] – 将标签推送至远程仓库
  4. git checkout -b [branch][name] – 检出标签

五、在IDEA中使用Git

1.在IDEA中配置 Git

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

在这里插入图片描述

2.获取Git仓库

1. 在IDEA中使用Git获取仓库有两种方式

  • 本地初始化仓库

在这里插入图片描述

  • 从远程仓库克隆

在这里插入图片描述

3.本地仓库操作

1. 将文件加入暂存区

在这里插入图片描述

2. 将暂存区的文件提交到版本库

在这里插入图片描述

3. 查看日志

在这里插入图片描述

4.远程仓库操作

1. 查看远程仓库

在这里插入图片描述

2. 添加远程仓库(关联关系)

在这里插入图片描述

3. 推送至远程仓库

在这里插入图片描述

4. 从远程仓库拉取

在这里插入图片描述

5.分支操作

1. 查看分支

在这里插入图片描述

2. 创建分支

在这里插入图片描述

3. 切换分支

在这里插入图片描述

4. 将分支推送到远程仓库

在这里插入图片描述

5. 合并分支

在这里插入图片描述

欢迎各位留言交流以及批评指正,如果文章对您有帮助或者觉得作者写的还不错可以点一下关注,点赞,收藏支持一下。
(博客的参考源码可以在我主页的资源里找到,如果在学习的过程中有什么疑问欢迎大家在评论区向我提出)

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【STM32CubeMX串口通信详解】USART1 -- DMA发送 + DMA空闲中断 接收不定长数据

文章目录&#xff1a; 前言 一、准备工作 1、接线 2、新建工程 二、CubeMX的配置 1、USART1 配置 异步通信 2、通信协议参数 3、打开DMA发送、接收 三、发送操作、代码解释 四、printf 重定向到USART1 五、接收代码的编写 1、定义一个结构体变量&a…

一款好用的开源思维导图软件 docker部署教程

目录 Simple mind map简介 Simple mind map特点 1.拉取镜像 2.创建并启动容器 方式1&#xff1a;docker启动 方式2&#xff1a;docker compose启动 3.使用 4.源码地址 Simple mind map简介 .一个 Web 思维导图&#xff0c;基于思维导图库、Vue2.x、ElementUI 开发&#…

聚观早报 |一加Ace 3鸣沙金开售;地平线征程6将发布

聚观早报每日整理最值得关注的行业重点事件&#xff0c;帮助大家及时了解最新行业动态&#xff0c;每日读报&#xff0c;就读聚观365资讯简报。 整理丨Cutie 1月16日消息 一加Ace 3鸣沙金开售 地平线征程6将发布 互动短剧《谍影成双》首曝PV 台积电发布四季度财报 保时捷…

day2:TCP、UDP网络通信模型

思维导图 机械臂实现 #include <head.h> #define SER_POTR 8899 #define SER_IP "192.168.125.223" int main(int argc, const char *argv[]) {//创建套接字int cfdsocket(AF_INET,SOCK_STREAM,0);if(cfd-1){perror("");return -1;}//链接struct so…

java版直播商城平台规划及常见的营销模式 电商源码/小程序/三级分销+商城 免 费 搭 建

鸿鹄云商 B2B2C产品概述 【B2B2C平台】&#xff0c;以传统电商行业为基石&#xff0c;鸿鹄云商支持“商家入驻平台自营”多运营模式&#xff0c;积极打造“全新市场&#xff0c;全新 模式”企业级B2B2C电商平台&#xff0c;致力干助力各行/互联网创业腾飞并获取更多的收益。从消…

主流视频压缩格式

主流的视频压缩格式有很多&#xff0c;它们各自适用于不同的应用场景&#xff0c;如在线流媒体、广播、存档等。 以下是一些广泛使用的视频压缩格式&#xff1a; H.264/AVC (Advanced Video Coding): 目前最为广泛使用的视频压缩标准之一&#xff0c;兼容性极佳&#xff0c;广泛…

打造独特体验:App封装的新纪元

在数字化的浪潮中&#xff0c;应用程序已成为我们日常生活中不可或缺的一部分。对于开发者而言&#xff0c;创造一个既能吸引用户又能提供独特价值的免费安卓应用是一项挑战。这就是封装&#xff08;Wrapping&#xff09;技术发挥作用的地方。通过封装&#xff0c;开发者可以将…

二十四、同域名下JSESSIONID重叠导致退出

同域名下JSESSIONID重叠导致退出 近期在开发项目的时候发现,如果同域名的情况下,如果把一个单页面无登录系统嵌套进入另外一个系统,那么会出现相互退出的问题。 思考解决方案 一、清除掉嵌套的系统的JSESSIONID,意思就是嵌套系统不设置JSESSIONID 1找寻出问题接口 在无痕…

【文本到上下文 #6】高级词嵌入:Word2Vec、GloVe 和 FastText

一、说明 欢迎来到“完整的 NLP 指南。到目前为止&#xff0c;我们已经探索了自然语言处理的基础知识、应用程序和挑战。我们深入研究了标记化、文本清理、停用词、词干提取、词形还原、词性标记和命名实体识别。我们的探索包括文本表示技术&#xff0c;如词袋、TF-IDF 以及词嵌…

【Qt之Quick模块】8. Quick基础、布局管理、布局管理器

1. 前言 Qt Quick编程&#xff0c;提供了多种布局方式。 如&#xff0c;静态布局&#xff0c;可以使用组件的x、y属性进行设置&#xff0c;或者进行绑定。 还可以使用锚anchors进行布局。 此外&#xff0c;还可以使用定位器以及定位管理器为多组件进行布局。 但使用布局管理器…

【数学建模美赛M奖速成系列】数据可视化方法(一)

数据可视化方法 写在前面山脊图优点缺点实现matlabpython 气泡矩阵图实现matlabpython 后续 写在前面 最近开始更新一个新的系列科研绘图&#xff0c;在同一个竞赛下&#xff0c;大家都近乎相同的解题思路下。之所以能出现一等二等三等奖的区别很大部分都在于结果的可视化&…

实战 php 使用 wkhtmltopdf 生成pdf的全过程

公司里边有生成pdf报告的业务需求,之前有过尝试用tcpdf,直接生成的pdf的过程,但是pdf报告的内容数据,根据不同内容的变化,都是各种各样的bug,一直处理修修补补的状态,让后台开发人员很是头疼. 经过思索和甄选,总结出我们的业务中是由于样式不可控导致的,当时从逻辑上就思考到用…

半监督学习 - 三元组学习(Triplet Learning)

什么是机器学习 三元组学习&#xff08;Triplet Learning&#xff09;是半监督学习中一种用于学习有用表示的方法。它通常用于学习数据中的相似性关系&#xff0c;尤其在人脸识别、图像检索等领域中得到广泛应用。三元组学习是通过构造三元组&#xff08;triplet&#xff09;来…

Java NIO (一)简介(备份)

1 NIO简介 在1.4版本之前&#xff0c;Java NIO类库是阻塞IO&#xff0c;从1.4版本开始&#xff0c;引进了新的异步IO库&#xff0c;被称为Java New IO类库&#xff0c;简称为Java NIO。New IO类库的目的 就是要让Java支持非阻塞IO。 Java NIO类库包含三个核心组件&#xff1a; …

AGV磁导航传感器CNS-MGS-160N安装与调试方法与注意事项

AGV磁导航传感器CNS-MGS-160N通过上位机给传感器下发岔路选择指令&#xff0c;传感器即⾃动屏蔽⾮选择⽅向的磁条&#xff0c;使AGV平滑过弯⽆抖动&#xff0c;可通过配置软件设置传感器的检测灵敏度&#xff0c;适应不同的安装⾼度下的检测要求&#xff0c;其通过输出1mm⾼精度…

行测:国考省考行测:语句表达,位置分析,语句分析,语句填空

国考省考行测&#xff1a;语句表达 2022找工作是学历、能力和运气的超强结合体! 公务员特招重点就是专业技能&#xff0c;附带行测和申论&#xff0c;而常规国考省考最重要的还是申论和行测&#xff0c;所以大家认真准备吧&#xff0c;我讲一起屡屡申论和行测的重要知识点 遇到…

STM32 CubeIDE 使用 CMSIS-DAP烧录 (方法2--外部小工具)

前言&#xff1a; 本篇所用方法&#xff0c;需要借助一个外部的工具小软件。 优点&#xff1a;烧录更稳定; 缺点&#xff1a;不能在线仿真调试。 下面链接&#xff0c;是另一种方法&#xff1a;修改CubeIDE调试文件。能在CubeIDE直接烧录、仿真&#xff0c;但不稳定。…

人工智能在数据安全中的应用场景

场景一&#xff1a;数据资产梳理 数据资产梳理是数据安全的基础。知道企业究竟有多少数据&#xff0c;这些数据在哪里&#xff1f;有哪些类型的数据&#xff1f;其中哪些是敏感数据&#xff1f;这些数据的敏感等级分别是什么&#xff1f;只有明确了保护的目标&#xff0c;才能…

浅析企业云性能监控的关键作用

企业云性能监控是一项关键的IT管理活动&#xff0c;它旨在实时追踪、分析和优化企业在云环境中的应用程序和系统性能。云性能监控涉及到监测各个层面的云服务&#xff0c;从基础设施到应用程序&#xff0c;以确保企业能够在云环境中实现高效、可靠和稳定的运行。以下是企业云性…

20. 从零用Rust编写正反向代理,四层反向代理stream(tcp与udp)实现

wmproxy wmproxy已用Rust实现http/https代理, socks5代理, 反向代理, 静态文件服务器&#xff0c;四层TCP/UDP转发&#xff0c;内网穿透&#xff0c;后续将实现websocket代理等&#xff0c;会将实现过程分享出来&#xff0c;感兴趣的可以一起造个轮子 项目地址 gite: https:…