一小时搞定Git(含盖IDEA使用)

文章目录

  • 1. git基本概念
    • 1.1版本控制
      • 1.1.1 版本控制软件
  • 2. 命令的使用
    • 2.1 Linux命令
    • 2.2 git基础指令
      • 2.2.1 设置用户
      • 2.2.2 初始化本地仓库
      • 2.2.3 查看本地仓库状态
      • 2.2.4 添加暂存区域
      • 2.2.5 提交本地库
      • 2.2.6 切换版本
    • 2.3 分支操作
      • 2.3.1 分支基本操作
      • 2.3.2 合并操作
      • 2.3.4 分支开发规范
  • 3. 远程仓库
    • 3.1 创建远程仓库
    • 3.2 配置SSH公钥
      • 3.2.1 产生公钥
      • 3.2.2 查看公钥
      • 3.2.3 复制公钥到远程仓库
      • 3.2.4 验证公钥
    • 3.3 推送到远程仓库
      • 3.3.1 添加远程仓库
      • 3.3.2 查看远程仓库
      • 3.3.3 推送远程仓库
      • 3.3.4 建立关联
    • 3.4 远程仓库分支操作
      • 3.4.1 推送远程仓库分支
      • 3.4.2 克隆远程仓库
      • 3.4.3 拉取远程仓库
      • 3.4.4 远程仓库分支冲突
  • 4. IDEA中使用git
    • 4.1 在IDEA中配置git

1. git基本概念

1.1版本控制

1.1.1 版本控制软件

版本控制软件分为两种,一种是集中式,另一种是分布式。目前版本控制的主流是git

集中式版本控制软件

  • 软件:SVN/VSS/CVS
  • 优点:管唇人可以轻松掌握每个开发者的权限。
  • 缺点:当中央服务器发生故障了,开发者就无法提交更新,无法进行协同工作。

分布式版本控制软件

  • 软件:Git/Bazaar/Darcs
  • 优点:断网照样可以开发,因为每一个开发者都是完整地项目拷贝

2. 命令的使用

2.1 Linux命令

  1. touch 文件名:创建空白文件

  2. rm 文件名:删除文件

  3. 可以按Tab键自动补全代码

  4. vim 文件名:进入操作界面

    • i插入操作
    • esc
      • :q:无修改保存
      • :wq:保持有并退出
      • q!:不保存并退出
  5. cat文件名:查看文件

  6. 查看文件列表

    1. ll-a(查看全部文件列表)

2.2 git基础指令

2.2.1 设置用户

git config --global user.name 用户名
git config --global user.email 邮箱

签名的作用是区分不同操作者身份。用户的签名信息在每一个版本的提交信息中能够看到,以此确认本次提交是谁做的。Git 首次安装必须设置一下用户签名,否则无法提交代码。

**※注意:**这里设置用户签名和将来登录 GitHub(或其他代码托管中心)的账号没有任何关系。

查看配置项

image-20240622200503538

2.2.2 初始化本地仓库

git init

2.2.3 查看本地仓库状态

git status

2.2.4 添加暂存区域

git add 文件名

可以使用git add.表示该文件夹所在的文件全部放到暂存区域

把文件移除暂存区:

git rm --cache 文件名

2.2.5 提交本地库

git commit -m "日志信息" 文件名

查看日志信息:

  • 查看历史日志

    git reflog
    
  • 查看当前日志

    git log
    

2.2.6 切换版本

git reset --hard 版本号

版本号是commit后面的那一串字符串

image-20240622202441274

2.3 分支操作

2.3.1 分支基本操作

创建分支

git branch 分支名

查看分支

git branch -v

切换分支

git checkout 分支名

#切换并创建分支名
git checkout -b 分支名

删除分支

删除时检查:(检查新开发代码是否合并)

git branch -d 分支名

强制删除不做检查:

git branch -D 分支名

**※注意:**删除的时候要到别的分支,再去进行删除操作。

2.3.2 合并操作

正常合并分支

git merge 分支名

冲突合并分支

对同一个文件内容都进行修改了,需要手动修改内容。

2.3.4 分支开发规范

master(主分支)

  • 用于部署生产环境的分支,确保master分支稳定性。
  • 般由develop以及hotfix分支合并,任何时间都不能直接修改代码。

hotfix(修复分支)

  • 线上出现紧急问题时,需要及时修复,以master分支为基线,创建hotfix分支,修复完成后,需需要合并到master分支和develop分支。
  • 命名规则:hotfix/user

develop(开发分支)

  • 始终保持最新完成以及bug修复后的代码。
  • feature分支都是基于develop分支下创建的。

feature(功能分支)

  • 开发新功能时,以develop为基础创建feature分支。
  • 命名规则:feature/user_module

release(预上线或发布分支)

  • 当有一组feature开发完成,首先会合并到develop分支进入测试发布时,会创建release分支。
  • 测试时如果发现BUG,由develop修改BUG后,重新合并。
  • 当测试完成通过之后,合并master分支。

3. 远程仓库

3.1 创建远程仓库

3.2 配置SSH公钥

3.2.1 产生公钥

ssh-keygen -t rsa

3.2.2 查看公钥

cat ~/.ssh/id_rsa.pub

3.2.3 复制公钥到远程仓库

3.2.4 验证公钥

ssh -T git@gitee.com

3.3 推送到远程仓库

3.3.1 添加远程仓库

git remote add origin 仓库地址

3.3.2 查看远程仓库

git remote

3.3.3 推送远程仓库

git push origin master:分支名称

git push origin master:master可以省略最后面的master:

git push origin master

3.3.4 建立关联

git push --set-upstream origin master

git branch -vv (查看关联)

git push (建立好关系后,直接可以推送)

3.4 远程仓库分支操作

3.4.1 推送远程仓库分支

在gitee中创建分支

image-20240623145136788

git相关操作

  • image-20240623145225658

  • image-20240623145240648

  • image-20240623145251396

3.4.2 克隆远程仓库

git clone 仓库路径 本地目录

3.4.3 拉取远程仓库

抓取与合并

  • 抓取命令就是讲仓库里的更新的内容都抓取到本地,但是不会进行合并
  • 如果不能指定远端名称分支名,就会抓取所有的分支
git fetch origin master

拉取命令

  • 拉取命令就是将远端仓库的修改拉到了本地自动进行合并等同于fetch+merge
  • 如果不指定远端名称分支名,就会抓取所有的分支并更新
git pull orgin master

3.4.4 远程仓库分支冲突

如果发生了远程仓库分支冲突,需要pull下来之后进行人工处理

4. IDEA中使用git

4.1 在IDEA中配置git

.gitignore文件说明

image-20240623151932297

之后创建git仓库

image-20240623152201031

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

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

相关文章

想更好应对突发网络与业务问题?您需要一款“全流量”

全流量分析,能为我做什么? 在生活中遇到问题,我们的第一反应可能是拿出手机拍照记录,方便后续处理。这些问题是临时的、突发的。 流量分析,就是网络中的“手机”,针对突发的网络故障和安全事件&#xff0…

【bug】配置SpringCloudAlibaba AI的maven依赖问题

问题描述 尝鲜alibaba的ai模块,maven依赖一直报找不到包,报错如下 Unresolved dependency: org.springframework.ai:spring-ai-core:jar:0.8.1原因分析: 由于是按照官方文档配置的,所以检查了很多遍maven配置,加上去…

java:spring-security的简单例子

【pom.xml】 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><version>2.3.12.RELEASE</version> </dependency> <dependency><groupId>org.springf…

飞行堡垒系列_键盘灯开关

飞行堡垒系列键盘灯可以通过键盘上的"Fn 方向键"控制 演示机型品牌型号&#xff1a;飞行堡垒8 系统版本&#xff1a;Windows 11 飞行堡垒键盘灯可通过键盘上的"Fn方向键"控制。 " Fn 下方向键 "为减弱键盘灯光&#xff0c;多按几次键盘灯就可…

如何使用AI工具进行写作

随着AI人工智能技术的飞速发展&#xff0c;AI工具已经逐渐成为学术和专业写作的得力助手。AI工具不仅可以帮助我们提高写作效率&#xff0c;还能在内容创作上提供灵感和支持。在本文中&#xff0c;小编将和大家分享如何利用AI工具提高写作效率和质量&#xff0c;并确保文章的原…

湖北民族大学2024年成人高等继续教育招生简章

湖北民族大学&#xff0c;这所承载着深厚文化底蕴和卓越教育理念的学府&#xff0c;在崭新的2024年再次敞开怀抱&#xff0c;热烈欢迎有志于深化学习、提升自我的成人学员们。今年的成人高等继续教育招生&#xff0c;不仅是学校对于终身教育理念的具体实践&#xff0c;更是为广…

java的单例集合迭代器

迭代器Iterator 根据之前的介绍我们知道&#xff0c;单例集合是由接口Collection定义的容器。Collection接口之下由定义了List接口和Set接口&#xff0c;其中List接口定义的容器的特征是有序可重复&#xff0c;而Set接口定义的容器的特征是无序不可重复的。 List接口定义的容器…

FFmpeg源码:ff_ctz / ff_ctz_c函数分析

一、ff_ctz函数的作用 ff_ctz定义在FFmpeg源码目录的libavutil/intmath.h 下&#xff1a; #ifndef ff_ctz #define ff_ctz ff_ctz_c /*** Trailing zero bit count.** param v input value. If v is 0, the result is undefined.* return the number of trailing 0-bits*/…

LeetCode 算法:翻转二叉树 c++

原题链接&#x1f517;&#xff1a;翻转二叉树 难度&#xff1a;简单⭐️ 题目 给你一棵二叉树的根节点 root &#xff0c;翻转这棵二叉树&#xff0c;并返回其根节点。 示例 1&#xff1a; 输入&#xff1a;root [4,2,7,1,3,6,9] 输出&#xff1a;[4,7,2,9,6,3,1] 示例 …

英语智汇学习系统

目 录 1 软件概述 1.1 项目研究背景及意义 2 系统相关技术 2.1 HTML、WXSS、JAVASCRIPT技术 2.2 Vanilla框架 2.3 uni-app框架 2.4 MYSQL数据库 3 需求分析 3.1 可行性分析 3.2 功能需求分析 3.3 系统用户及用例分析 3.4 非功能需求分析 3.5 数据流图…

bazel :Output Directory Layout

Output Directory Layout This page covers requirements and layout for output directories. Requirements for an output directory layout: Doesn’t collide if multiple users are building on the same box.如果多个用户在同一个盒子上建造则不会发生冲突。 Support…

视频监控平台:支持交通部行业标准JT/T905协议(即:出租汽车服务管理信息系统)的源代码的函数和功能介绍及分享

目录 一、视频监控平台介绍 &#xff08;一&#xff09;概述 &#xff08;二&#xff09;视频接入能力介绍 &#xff08;三&#xff09;功能介绍 二、JT/T905协议介绍 &#xff08;一&#xff09;概述 &#xff08;二&#xff09;主要内容 1、设备要求 2、业务功能要求…

【ajax实战01】数据管理网站总述

一&#xff1a;功能实现 登录和权限判断查看文章内容列表&#xff08;筛选和分页&#xff09;编辑文章&#xff08;数据回显&#xff09;删除文章发布文章&#xff08;图片上传&#xff0c;富文本编辑器&#xff09; 该网站最终实现&#xff1a;登录后台管理系统&#xff0c;…

理解 什么是 滚动更新,蓝绿部署,灰度发布 以及它们的区别

滚动更新&#xff0c;蓝绿部署&#xff0c;灰度发布 这3种 现代化的 发布模式相信很多人都听过&#xff0c; 但是并不是都能正确理解他们的作用和区别 滚动更新 Rolling Update 所谓滚动更新是for 那些多实例的service的。 假如1个 service 有n 个instance, 更新时并不是n 个…

鸿蒙开发系统基础能力:【@ohos.faultLogger (故障日志获取)】

故障日志获取 说明&#xff1a; 本模块首批接口从API version 8开始支持。后续版本的新增接口&#xff0c;采用上角标单独标记接口的起始版本。 导入模块 import faultLogger from ohos.faultLoggerFaultType 故障类型枚举。 系统能力&#xff1a; 以下各项对应的系统能力…

【Python/Pytorch 】-- SVM算法

文章目录 文章目录 00 写在前面01 SVM算法简介02 SVM算法的基本原理线性SVM非线性SVM 03 基于Python 版本的SVM算法04 优化目标表达式理解&#xff1a;05 约束条件表达式理解 00 写在前面 SVM算法可以结合鲸鱼算法、飞蛾扑火算法、粒子群算法、灰狼算法、蝙蝠算法等等各种优化…

预训练是什么?

预训练是什么&#xff1f; 图像领域的预训练 在介绍图像领域的预训练之前&#xff0c;我们首先介绍下卷积神经网络&#xff08;CNN&#xff09;&#xff0c;CNN 一般用于图片分类任务&#xff0c;并且CNN 由多个层级结构组成&#xff0c;不同层学到的图像特征也不同&#xff…

qt 5.6 qmake手册

qt 5.6 qmake手册 &#xff08;笔者翻译的qmake手册&#xff0c;多数是机翻&#xff0c;欢迎评论区纠错修正&#xff09; Qmake工具有助于简化跨不同平台开发项目的构建过程。它自动生成Makefile&#xff0c;因此创建每个Makefile只需要几行信息。您可以将qmake用于任何软件项目…

细粒度图像分类论文阅读笔记

细粒度图像分类论文阅读笔记 摘要Abstract1. 用于细粒度图像分类的聚合注意力模块1.1 文献摘要1.2 研究背景1.3 本文创新点1.4 计算机视觉中的注意力机制1.5 模型方法1.5.1 聚合注意力模块1.5.2 通道注意力模块通道注意力代码实现 1.5.3 空间注意力模块空间注意力代码实现 1.5.…

20240624 每日AI必读资讯

&#x1f916;AI学会篡改奖励函数、欺骗研究者&#xff01;Claude团队&#xff1a;无法根除的行为&#xff0c;令人不安 - 实验中让AI可以访问自己的强化学习代码&#xff0c;并且提问&#xff1a;目前为止&#xff0c;我们总共进行了几轮强化学习&#xff1f;AI在自以为不会被…