Git 安装和基础命令、IDEA 基础操作

news2024/11/15 15:34:25

目录

  • 总结命令:
  • 1、安装:
    • 1、安装
    • 2、配置环境变量:
  • 2、Git操作:
    • 1、初始化:
      • 1、姓名邮箱:
      • 2、初始化仓库:
      • 3、工作区和暂存区分析
    • 2、提交文件
    • 3、查看版本库状态
    • 4、安装小乌龟
      • git不显示图标
    • 5、查看提交日志
    • 6、查看差异
    • 7、版本回退
  • 在这里插入图片描述
    • 8、撤销修改
    • 9、删除文件
  • 在这里插入图片描述
    • 10、分支管理
      • 1、**查看分支**
      • 2、**创建分支**
      • 3、**切换分支**
      • 4、分支合并
      • 5、删除分支
  • 3、远程仓库
    • 1、创建gitee仓库
    • 2、连接远程仓库
    • 3、拉取gitee项目代码
  • 4、IDEA操作
    • 1、初始化仓库
    • 2、添加 .gitignore 文件
    • 3、上传
    • 顺序:

总结命令:

工作区、暂存区、版本库(本地仓库)、远程仓库

工作区:项目代码放在自己电脑的文件夹,就叫工作区

【git add .】 把工作区的代码提交到暂存区

【git commit -m “” 】 把暂存区的代码提交到版本库

【git reset 】 回退版本

【git rm 】 删除文件

【git checkout – 文件名 】 来撤销这次的文件修改内容

【git checkout 】 切换分支

【git log 】查看日志

【git reflog】查看所有分支记录日志

【git status 】 查看状态

【git diff 】查看不同

【git push 】 推送

【git pull 】拉取

【git clone 】 克隆

【git branch 】创建分支

【git mergr 】合并分支

1、安装:

1、安装

https://blog.csdn.net/apple_53947466/article/details/123455014

https://blog.csdn.net/mukes/article/details/115693833

全部都是下一步,选择默认的

在这里插入图片描述

2、配置环境变量:

在这里插入图片描述

右键任意位置,在右键菜单里选择 Git Bash Here 即可打开 Git Bash 命令行终端。

在这里插入图片描述

安装成功:查看版本信息
在这里插入图片描述

2、Git操作:

1、初始化:

1、姓名邮箱:

配置用户姓名和邮箱,查看是否配置成功

个人信息,这两条命令只需要运行一次就可以了

在这里插入图片描述

2、初始化仓库:

git init 命令生成一个文件夹作为git的可以管理的仓库

在这里插入图片描述
在这里插入图片描述

修改下git的仓库位置

在这里插入图片描述

用快捷方式打开就可以,用鼠标右键打开就还是显示在桌面

快捷方式打开

在这里插入图片描述

鼠标右键打开

在这里插入图片描述

创建一个文件假设为项目的目录,然后交给git来进行管理。

提交文件

在这里插入图片描述

3、工作区和暂存区分析

在这里插入图片描述

2、提交文件

提交一个文件 git add 文件名

提交当前文件夹目录下的所有文件或者文件夹 git add .

把暂存区的文件提交到本地仓库 git commit -m “-m后面写提交的备注”

把多个文件或者文件夹提交到暂存区或者本地仓库

多次 add 是覆盖上去的,每次commit之前都可以先add下

在这里插入图片描述

3、查看版本库状态

查看版本库(本地仓库)状态

git status # 查看当前git版本库的状态(查看缓存区中的文件内容)

在这里插入图片描述

4、安装小乌龟

用来看文件图标

先安装第一个,然后安装第二个,第二个是用来修改语言的,只需要打开就可以了。

但是还没有变成中文的,先不理

在这里插入图片描述

git不显示图标

修改注册表,用来显示图标

计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers\
在这里插入图片描述

测试

创建文件–?号

提交到暂存区–+号

提交到本地仓库–√号

在这里插入图片描述

修改文件后,还没提交就会变成红色感叹号,查看状态如图

在这里插入图片描述

5、查看提交日志

git log 用来查看 git 提交记录

最近提交的信息显示最前面
在这里插入图片描述

简洁查看日志

git log 命令显示从最近到最远的提交日志,如果嫌输出信息太多,看得眼花缭乱的,可以试试加上--pretty=oneline参数:

git log --pretty=oneline

在这里插入图片描述

显示日志漂亮一点

git log --graph --pretty=``format``:``'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset'` `--abbrev-commit --

在这里插入图片描述

6、查看差异

就是查看文件修改了哪些内容

git diff # 查看不同版本之间的文件差异

在这里插入图片描述

git diff xx文件 单独查看某个文件修改了什么内容

在这里插入图片描述

7、版本回退

首先,Git必须知道当前版本是哪个版本,在Git中,用HEAD表示当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100

git reset --hard HEAD HEAD表示回退到当前版本(相当于没变化)

git reset --hard HEAD^ 一个异或符号^表示上一个版本

git reset --hard HEAD^^ 两个个异或符号^表示上上一个版本

git reset --hard HEAD~10 HEAD~10表示回退到第前10个版本

git reset --hard 指定版本号 回退到指定版本号,git log 查看版本号

在这里插入图片描述

==================

把版本从第三版本回退到第一版本,那怎么把第一版本重新退到刚才的第三版本

可以根据版本后进行回退

问题:d文件有三个版本,我从第三版本回退到第一版本,然后用 git log 命令查看提交日志,可以只显示了d文件的第一代版本的id,这个时候我想要重新回到 第三版本,应该怎么弄。

答:有head 和 sort 的区别

head 是把暂存区和本地仓库和项目都一起回退,回退后之前的就找不到了。

在这里插入图片描述

日志多的话,可以用按键PgUp 和 PgDn上下翻页

按 Q 退出
在这里插入图片描述

8、撤销修改

a文件修改后还没有进行add和commit,

用命令 git checkout – 文件名 来撤销这次的文件修改内容

在这里插入图片描述

a文件修改后进行add,把文件从工作区add提交到暂存区后进行撤销操作。

结果就是撤销到暂存区后的状态

在这里插入图片描述

把a文件修改后commit到版本库(本地仓库),那么撤销后a文件的状态还是跟add在暂存区的样子是一样的

总之,就是让这个文件回到最近一次 git commitgit add 时的状态。

注意:
git checkout -- file 命令中的 -- 很重要,没有 -- ,就变成了**“切换到另一个分支”**的命令,我们在后面的分支管理中会再次遇到 git checkout 命令

9、删除文件

总结:

1、在工作区用鼠标右键删除一个文件,暂存区和版本库依然还有这个文件,需要进行add和commit,把暂存区和版本库里面的这个文件一并删除掉,才能保持工作区、暂存区和版本库三个地方数据一致

2、用 git rm 文件名 这个命令来删除文件,通过测试得出用命令删除文件,工作区和暂存区的文件会一起删除掉,但是版本库依然还有这个文件,只需要进行commit,让版本库也把这个文件给删除掉,就可以保持工作区、暂存区和版本库这三个地方的数据一致

如果发现自己删除错文件后,可以进行版本回退的操作。

我把文件b和文件c都删除了,然后通过命令回到上上个版本,就可以把b和c文件重新找回来了

在这里插入图片描述

1、直接鼠标右键把工作区的test文件删除掉后,暂存区和本地库还是有这个test文件的,需要进行add和commit,这样是为了工作区、暂存区和版本库数据保持一致,三个地方都把这个test文件给删除掉才算完整。

在这里插入图片描述

2、用git命令删除掉某个文件

用git命令把hello文件删除掉后,工作区和暂存区的hello文件就都没了,只需要进行commit把版本库的hello文件删除掉就行

在这里插入图片描述

3、测试在工作区用鼠标删除文件后,直接commit不进行add,会是什么结果。

在这里插入图片描述

测试前猜想:不进行add的话,工作区没有这个文件,暂存区还有这个文件,commit是把文件从暂存区提交到版本库,所以commit之后,暂存区和版本库依然有这个文件,只是工作区没有而已

测试后结果:

git ls-files 命令是用来查看暂存区中文件信息,查看后又没有d文件,跟所想的不一样

在这里插入图片描述

查看版本库的文件列表,也没有d文件

git ls-files --with-tree=HEAD

在这里插入图片描述

总结:鼠标右键删除掉文件后直接commit,好像三个地方都把文件删除掉了,但是这个情况我觉得不太对,先留着不理。

===================

我把工作区的c文件用鼠标右键删除掉,查看暂存区的文件列表,有c文件,正确

在这里插入图片描述

再查看版本库的文件列表

也有c文件,正确

在这里插入图片描述

然后我add把c文件删除的消息提交到暂存区,

然后可以看出add之后,暂存区的c文件也被删除了

在这里插入图片描述

然后查看版本库

因为还没有进行commit,所以版本库里面有c文件,也是正确的。

在这里插入图片描述
进行commit

可以看出版本库也把c文件删除掉了

在这里插入图片描述

==================

重新测试下把b文件用命令删除

在这里插入图片描述
然后查看暂存区和版本库有没有这个b文件,

按理说用命令删除的话,暂存区应该也删除了b文件,版本库还有这个b文件

**测试结果:**可以看出来,用命令删除b文件,工作区和暂存区的b文件都会同步删除掉,但是版本库不会,得进行commit才能把版本库的b文件也进行删除

在这里插入图片描述

进行commit之后,b文件也从版本库里面删除掉了

在这里插入图片描述

10、分支管理

Git 拥有强大的分支管理系统,且推荐在项目开发过程中大量的使用分支来解决各种项目中的问题

初始化仓库的时候,默认会有主分支master

1、查看分支

在这里插入图片描述

2、创建分支

处在master主分支来创建dev分支的时候,会把master的代码一并拷贝到dev分支里面去

在这里插入图片描述

3、切换分支

在这里插入图片描述

创建 + 切换分支:**git checkout -b

4、测试

删除dev分支的c文件,然后切换到主分支看c文件还在不在

(没有把dev合并到master之前,master主分支的c文件还是在的)

在这里插入图片描述

在这里插入图片描述

4、分支合并

现在功能写好了,要把dev合并到master主分支。

**将某分支合并到当前分支:**git merge

需求:把dev分支的代码合并到主分支master

需要把分支切换到主分支master,然后再执行 git merge dev 命令,

就是把某分支(dev)合并到当前分支(master)

在这里插入图片描述

切记不要合并错,合并的时候要切换到主分支。

在这里插入图片描述

5、删除分支

**删除分支:**git branch -d

先创建两个分支 dev1 和 dev2

在这里插入图片描述
在master删除 dev1

在这里插入图片描述
在dev2分支自己删除dev2

自己无法删除自己

在这里插入图片描述

切换到其他分支再来查看分支列表

发现dev2还在,没删除掉

在这里插入图片描述
原因:没注意到,在自己的分支不能删除自己

在这里插入图片描述
在其他分支成功删除dev2分支

在这里插入图片描述

总结:在自己的分支无法删除自己

提问:可以在dev分支删除主分支master吗?

测试:结果可以,可能是因为我还没有给分支加上权限限制

在这里插入图片描述

3、远程仓库

1、创建gitee仓库

在这里插入图片描述

在这里插入图片描述

2、连接远程仓库

git已经有仓库后执行的代码,在master位置连接仓库

到指定位置
cd existing_git_repo
连接
git remote add origin https://gitee.com/xxxxx/git-remote-warehouse.git
推送
git push -u origin "master"

在这里插入图片描述

连接远程仓库成功后,本地的代码文件也提交到远程仓库去了

在这里插入图片描述

3、拉取gitee项目代码

1、创建一个文件夹存放代码

在这里插入图片描述
2、复制仓库地址

在这里插入图片描述

3、在指定文件夹打开git,输入命令

git clone 下载地址

在这里插入图片描述

在这里插入图片描述

代码就成功拉取下来了

在这里插入图片描述

4、IDEA操作

1、初始化仓库

在项目的文件夹打开git,然后输入命令 git init 进行初始化,然后就会出现 .git 文件夹

在这里插入图片描述

2、添加 .gitignore 文件

在这里插入图片描述

.gitignore 文件,用来省略一些提交文件,无关紧要的文件

# Created by .ignore support plugin (hsz.mobi)
.gitignore

# Operating System Files

*.DS_Store
Thumbs.db
*.sw?
.#*
*#
*~
*.sublime-*

# Build Artifacts

.gradle/
build/
target/
bin/
dependency-reduced-pom.xml

# Eclipse Project Files

.classpath
.project
.settings/

# IntelliJ IDEA Files

*.iml
*.ipr
*.iws
*.idea

3、上传

输入 git add . 和 git commit -m “xxx” 把工作区的项目提交到暂存区和版本库。

在这里插入图片描述
把这个仓库的文件清空掉(清空仓库),然后把项目提交过去

在这里插入图片描述

复制命令

关联远程

git remote add origin https://gitee.com/xxxxxxx/git-remote-warehouse.git

在这里插入图片描述

推送到远程的主分支

git push -u origin "master"

push推送失败

文件超过100mb

在这里插入图片描述

//仅仅只是撤销已提交的版本库,不会修改暂存区和工作区
git reset --soft 版本库ID
//仅仅只是撤销已提交的版本库和暂存区,不会修改工作区
git reset --mixed 版本库ID
//彻底将工作区、暂存区和版本库记录恢复到指定的版本库
git reset --hard 版本库ID

选择撤销版本库和暂存区

顺序:

  1. 组员每次开发,都必须先 push 到自己的远程分支
  2. 每次对 master 分支做合并或推送之前,原地备份代码
  3. 组员(组长)确保自己分支的代码与 master 分支都没有错误以后,将本地 master 推送到远程
  4. 每天早上开发前,先切换到 master 分支,更新代码,确保是最新版本,如果有更新下来内容,同样先对整个项目进行备份,再切换到自己的分支,然后将 master 合并到自己的分支上
  5. 每个小组每天必须保证一份新的代码,即组员除了将代码提交到自己的分支以外,都必须再将自己的代码合并到master
  6. 再次强调,每次合并或推送前,都先对项目进行备份,避免操作不熟练导致出错后代码丢失

在这里插入图片描述

在这里插入图片描述

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

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

相关文章

Redis常用配置详解

目录 一、Redis查看当前配置命令二、Redis基本配置三、RDB全量持久化配置&#xff08;默认开启&#xff09;四、AOF增量持久化配置五、Redis key过期监听配置六、Redis内存淘汰策略七、总结 一、Redis查看当前配置命令 # Redis查看当前全部配置信息 127.0.0.1:6379> CONFIG…

微信小程序之会议OA首页数据交互,会议状态,会议人数转换,会议室交互,WXS的使用

前言&#xff1a; 本篇博客使用结合了SpringMVC&#xff0c;mybatis&#xff0c;maven&#xff0c;小程序&#xff0c;如果不熟悉使用可以翻看我之前的博客&#xff0c;以便大家可以更好的学习&#xff01;&#xff01;&#xff01; 一&#xff0c;会议OA首页数据的后台交互 这…

18、监测数据采集物联网应用开发步骤(12.3)

阶段性源码下载 监测数据采集物联网应用开发步骤(12.2) 前端web UI开发 demo 核心代码文件&#xff1a; web/index.html web/index.js web/js/common.js web/init.dlls Web/init.js 程序运行之后在浏览器敲入如下内容访问数据接口&#xff1a; http://localhost:9000…

五大经典智能算法实现机器人路径规划,包含简单路径与复杂路径,详细对比实验...

声明&#xff1a;对于作者的原创代码&#xff0c;禁止转售倒卖&#xff0c;违者必究&#xff01; 本期文章采用五大经典的智能优化算法&#xff0c;对机器人路径进行规划。 五大经典算法分别是&#xff1a;粒子群算法(PSO)&#xff0c;遗传算法(GA)&#xff0c;差分进化算法(DE…

马赫数相关函数

1 函数 k是常数&#xff0c;Ma是变量 2应用程序 点击上方资源下载 3 计算 3.1 c语言 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <math.h>#define k 1.4 // k为常数// 定义的函数 double T(double Ma) {return pow((1 (k - 1) / 2 * Ma …

npm或pnpm终端执行失败问题

问题描述&#xff1a; npm或pnpm终端执行失败问题&#xff1a;有时候在编译器中通过包管理工具进行某些命令操作时&#xff0c;会提示如下报错 pnpm : 无法加载文件 E:\1AllLearnSource\nvm\node\pnpm.ps1&#xff0c;因为在此系统上禁止运行脚本。有关详细信息&#xff0c;…

使用imx 8m 测试matter协议功能

参考网址&#xff1a; https://github.com/nxp-imx/meta-matter 请使用Ubuntu-20.04。18.04python版本太老 注意repo会出现此报错&#xff0c;可以无视&#xff1a; git checkout imx_matter_2023_q3 这一步在这个目录下操作 项目交流、学习、开发&#xff0c;欢迎私信。

【大数据】Kafka 数据存储

Kafka 数据存储 1.文件目录2.日志分段3.日志索引3.1 偏移量索引3.2 时间戳索引 4.日志清理4.1 日志删除4.1.1 基于时间4.1.2 基于日志大小4.1.3 基于日志起始偏移量 4.2 日志压缩 1.文件目录 Kafka 中的消息是存储在磁盘上的&#xff0c;一个分区副本对应一个 日志&#xff08…

2019年亚太杯APMCM数学建模大赛A题基于图像分析的二氧化硅熔化表示模型求解全过程文档及程序

2019年亚太杯APMCM数学建模大赛 A题 基于图像分析的二氧化硅熔化表示模型 原题再现 铁尾矿的主要成分是二氧化硅&#xff0c;而二氧化硅是铁尾矿成分中最难熔化的部分。因此&#xff0c;铁尾矿的熔融行为可以用二氧化硅的熔融行为来表示。然而&#xff0c;高温熔池的温度超过…

AIO开放接口平台免费畅享ChatGPT聊天、联网互动、学术等服务!更有DALL·E 3最强AI绘图功能!

免费畅享&#xff01; AIO平台ChatGPT联网、聊天、学术等服务&#xff01; AIO开放接口平台 | 服务介绍 ALL IN ONE &#xff08;AIO&#xff09;API服务是LLM(大语言模型)开放接口平台&#xff1a;持续接入各种主流的大模型接口&#xff0c;并提供简单、易用、统一的API交互…

开源网安受邀参加数字安全高峰论坛,为数字经济发展保驾护航

​10月19日&#xff0c;“提升数字安全技术&#xff0c;护航数字经济发展”高峰论坛在常州创意产业园圆满完成。本次论坛由常州国家高新区管委会、常州市工业和信息化局、常州市大数据管理中心主办&#xff0c;聚焦“数据安全”主题&#xff0c;邀请了超百位专家及企业代表共同…

WordPress SMTP邮件发送插件 Easy WP SMTP

Easy WP SMTP是一款 WordPress 邮件发送插件&#xff0c;WordPress 中经常用到邮件发送&#xff0c;包括新注册用户的邮件通知、找回密码通知、评论回复通知等。因为云服务器默认不启用 SMTP功能&#xff0c;所以需要安装 SMTP插件来解决这个问题。 SMTP 主机&#xff1a;smtp.…

斜率优化dp

f i min ⁡ ( a j − j i ) f_i\min(a_j - j \times i) fi​min(aj​−ji) 考虑变成点对 ( j , a j ) (j,a_j) (j,aj​)&#xff0c;则 f i Y j − X j i f_iY_j-X_ji fi​Yj​−Xj​i 令 i k , f i b ik, f_ib ik,fi​b&#xff0c;得 b Y j − X j k bY_j-X_jk b…

关于OpenMesh与OpenGL

文章目录 OpenMesh官网OpenMesh是什么&#xff1f;他能做什么&#xff1f;直接无源码安装测试报错&#xff1a;效果: 学习openmesh学习openmesh的流程如下&#xff1a;第一步&#xff0c;了解openmesh库的基本概念第二步&#xff0c;查看openmesh的官方示例&#xff0c;了解简单…

【java】【MyBatisPlus】【二】MyBatisPlus常规使用

目录 一、简述 1、概述 2、特性 3、支持数据库 二、标准数据层开发 1、标准数据层CRUD功能 1.1 新增insert 1.2 删除功能deleteById 1.3 修改功能updateById 1.4 查询单个selectById 1.5 查询全部selectList 2、分页功能 2.1 设置MybatisPlus分页拦截器作为Spring管…

LSTM-Attention单维时间序列预测研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

Redis基本命令和常用数据类型

文章目录 前言一、Redis简介二、基本操作1.赋值2.取值3.切换数据库4.查看数据库所有键&#xff08;key&#xff09;5.查看键值类型6.移动键值到其他数据库7.设置键值生存时间&#xff08;两种&#xff09;8.查看键值生存时间9.查看当前数据库大小10.判断键是否存在11.清空当前数…

IntelliJ IDEA 2020.2.1白票安装使用方法

先安装好idear Plugins 内手动添加第三方插件仓库地址&#xff1a;https://plugins.zhile.io 搜索&#xff1a;IDE Eval Reset插件进行安装 输入https://plugins.zhile.io 手动安装离线插件方法 安装包可以去笔者的CSDN资源库下载 安装mybaties插件

Simulink模型加密共享

1.前言 为了保护知识产权&#xff0c;有时候需要让用户能使用slx模型运行仿真&#xff0c;但是无法查看和修改模型和子系统的结构&#xff0c;这时可以用Simulink coder来生成受保护的模型。主要步骤如下&#xff1a; &#xff08;1&#xff09;将slx模型的各个子系统唯一命名…

Nginx负载均衡反向代理动静分离

文章目录 nginx负载均衡&反向代理&动静分离环境说明部署动静分离1.主机lnmp部署一个动态页面&#xff0c;在此以discuz论坛系统为例2.主机n1部署两个静态页面访问动、静态页面 配置负载均衡配置反向代理访问测试 nginx负载均衡&反向代理&动静分离 环境 主机名…