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. 合并分支

在这里插入图片描述

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

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

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

相关文章

第一课:Transformer

第一课&#xff1a;Transformer 文章目录 第一课&#xff1a;Transformer1、学习总结&#xff1a;什么是语言模型&#xff1f;大语言模型&#xff08;LLM&#xff09;技术演变史注意力机制Transformer结构课程ppt及代码地址 2、学习心得&#xff1a;3、经验分享&#xff1a;4、…

【VSCode】CMake Language Support 总是下载 .NET 超时,但又不想升级dotnet

错误信息 Error: Could not resolve dotnet path!An error occurred while installing .NET (6.0): .NET Acquisition Failed: Installation failed: Error: .NET installation timed out. You may need to change the timeout time if you have a slow connection. Please se…

【基础篇】十三、强软弱虚引用、终结器引用

文章目录 0、相关&#x1f58a;1、强引用2、软引用3、弱引用4、虚引用5、终结引用 关于对象能否被回收&#xff1a; 计数器可达性分析 还可以根据引用的类型&#xff0c;不同的引用类型&#xff0c;对应对象的不同GC回收规则。 0、相关&#x1f58a; &#x1f4d5;【强软弱虚…

高质量发展项目——糖尿病管理医药共话交流会在京成功举行

为积极配合国家在卫生事业改革发展的前进方向&#xff0c;抓好医院管理的顶层设计&#xff0c;中国初级卫生保健基金会公共卫生专业委员会与国家卫生健康委人才交流服务中心于2023年7月18日成功举行高质量发展项目—糖尿病管理医药共话交流会。此次会议邀请全国内分泌领域及药学…

gRPC 为什么这么快?

gRPC 为什么这么快&#xff1f; 本文转自 公众号 ByteByteGo&#xff0c;如有侵权&#xff0c;请联系&#xff0c;立即删除 RPC&#xff08;Remote Procedural Call, 远程过程调用&#xff09;之所以被称为 remote&#xff0c;因为在微服务架构下&#xff0c;RPC 可以实现远程服…

【大数据】安装 Zookeeper 单机版

安装 Zookeeper 单机版 下面安装 Zookeeper&#xff0c;由于它是 Apache 的一个顶级项目&#xff0c;所以域名是 zookeeper.apache.org&#xff0c;所有 Apache 的顶级项目的官网都是以项目名 .apache.org 来命名的。 点击 Download 即可下载&#xff0c;这里我们选择的版本是 …

Python 简单爬虫程序及其工作原理

前言 网络中包含大量的数据&#xff0c;这些数据对于我们来说是非常有价值的&#xff0c;因此编写一个爬虫程序&#xff0c;自动从网页中获取所需的数据&#xff0c;对于信息收集和分析是非常有帮助的。Python 是一种高效而灵活的编程语言&#xff0c;它提供了强大的库和框架来…

软考报名有哪些要求?

报考任何级别不需要学历、资历条件&#xff0c;只要达到相应的专业技术水平就可以报考相应的级别 (一)2024年软考报名入口 2024年软考采用网络报名方式&#xff0c;考生在报名期间进入中国计算机技术职业资格网 (中国计算机技术职业资格网)&#xff0c;点击页面右下角的报名入…

JAVA学习专栏

JAVA专栏 Java核心技术 Java核心技术 Java练手算法 Java练手算法 Java数据结构和算法 Java数据结构和算法 Java设计模式 Java设计模式 Java并发编程 Java并发编程 MySQL数据库 MySQL数据库 Java项目管理Maven Java项目管理Maven 项目管理工具gradle 项目管理工具gradle…

分布式锁Lock4J 使用总结

Lok4j 简介 lock4j是一个分布式锁组件&#xff0c;其提供了多种不同的支持以满足不同性能和环境的需求。 立志打造一个简单但富有内涵的分布式锁组件。 特点 简单易用&#xff0c;功能强大&#xff0c;扩展性强。支持redission,redisTemplate,zookeeper。可混用&#xff0c…

分布式【Zookeeper三大核心之数据节点ZNode】

ZooKeeper在分布式领域&#xff0c;能够帮助解决很多很多的分布式难题&#xff0c;但是底层却只是依赖于两个主要的组件&#xff1a;ZNode文件/数据存储系统和watch监听系统&#xff0c;另外还有一大模块&#xff0c;就是ACL系统。本节我们介绍下znode文件/数据存储系统。 一、…

【QT】自定义代理类

目录 1 我们为什么要使用自定义代理类&#xff1f; 2 自定义代理类的基本设计要求 3 自定义代理的功能 4 基于QSpinBox的自定义代理类 5 自定义代理类的使用 1 我们为什么要使用自定义代理类&#xff1f; 传统的模型-视图框架可以让我们实现逻辑展示相分离&#xff0c;我们…

Spring见解 1.2 IOC

2.3.Spring的IOC解决程序耦合 2.3.1.创建工程 2.3.1.1.pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:sc…

Spring 七种事务传播性介绍

作者&#xff1a;vivo 互联网服务器团队 - Zhou Shaobin 本文主要介绍了Spring事务传播性的相关知识。 Spring中定义了7种事务传播性&#xff1a; PROPAGATION_REQUIRED PROPAGATION_SUPPORTS PROPAGATION_MANDATORY PROPAGATION_REQUIRES_NEW PROPAGATION_NOT_SUPPORTED…

八、QLayout 用户基本资料修改(Qt5 GUI系列)

目录 一、设计需求 二、实现代码 三、代码解析 四、总结 一、设计需求 在很多应用程序中会有用户注册或用户编辑信息等界面。本文就设计一个用户信息编辑界面。要求包含用户名、姓名、性别、部门、年龄、头像、个人说明等信息。 二、实现代码 #ifndef DIALOG_H #define D…

springboot中引入AOP切面编程

在Spring Boot 3.0中引入AOP的过程如下所示&#xff1a; 1、首先&#xff0c;确保已经添加了相关依赖。可以通过Maven或Gradle来管理项目的依赖。对于使用Maven构建的项目&#xff0c;需要将以下依赖添加到pom.xml文件中 <dependency><groupId>org.springframewo…

BERT(从理论到实践): Bidirectional Encoder Representations from Transformers【3】

这是本系列文章中的第3弹,请确保你已经读过并了解之前文章所讲的内容,因为对于已经解释过的概念或API,本文不会再赘述。 本文要利用BERT实现一个“垃圾邮件分类”的任务,这也是NLP中一个很常见的任务:Text Classification。我们的实验环境仍然是Python3+Tensorflow/Keras…

2023年度全球重大关基安全事件 TOP 10 | FreeBuf 年度盘点

2023年&#xff0c;针对关键信息基础设施的网络攻击已经演变成为了一个全球性的问题&#xff0c;无论是中、美、俄等国际大国&#xff0c;还是诸多小国/地区&#xff0c;无论是经济发达还是落后&#xff0c;都无法保证绝对免疫关键基础设施的攻击。为了保障国家安全和社会稳定&…

力扣-42.接雨水

题目&#xff1a; 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图&#xff0c;计算按此排列的柱子&#xff0c;下雨之后能接多少雨水。 示例 1&#xff1a; 输入&#xff1a;height [0,1,0,2,1,0,1,3,2,1,2,1] 输出&#xff1a;6 解释&#xff1a;上面是由数组[0,1,0,2…

Windows PowerShell的安全目标——安全警报

Windows PowerShell的安全目标——安全警报 1. 保证Shell安全 ​ 自从2006年年底PowerShell发布以来&#xff0c;微软在安全和脚本方面并没有取得很好的名声。毕竟那个时候&#xff0c;**VBScript和Windows Script Host(WSH)**是两个最流行的病毒和恶意软件的载体&#xff0c…