Git 分布式版本控制工具 03Git常用命令:Git全局设置+本地与远程仓库操作获取Git仓库+标签操作+忽略名单+工作区、暂存区、版本库+分支操作+暂时保存

Git常用命令目录

    • 4 Git常用命令
      • 4.1 Git全局设置
      • 4.2 获取Git仓库
        • 4.2.1 在本地初始化Git仓库
        • 4.2.2 从远程仓库克隆
      • 4.3 常见的概念:工作区、暂存区、版本库
      • 4.4 常见的概念:Git工作区中文件的状态
      • 4.5 本地仓库操作
        • 4.5.1 git status
        • 4.5.2 git add
        • 4.5.3 git reset
        • 4.5.4 git commit
        • 4.5.5 git log
      • 4.6 远程仓库操作
        • 4.6.1 git remote
        • 4.6.2 git remote add
        • 4.6.3 git clone
        • 4.6.4 git push
        • 4.6.5 git pull
      • 4.7 常见的概念:分支
        • 4.7.1 图解分支
        • 4.7.2 分支细分
      • 4.8 分支操作
        • 4.8.1 查看分支
        • 4.8.2 创建分支
        • 4.8.3 切换分支
        • 4.8.4 推送至远程仓库分支
        • 4.8.5 合并分支
      • 4.9 标签操作
        • 4.9.1 查看标签
        • 4.9.2 创建标签
        • 4.9.3 将标签推送至远程仓库
        • 4.9.4 检出标签
      • 4.10 暂时保存更改
      • 4.11 GIT忽略清单

4 Git常用命令

4.1 Git全局设置

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

设置用户信息

git config --global user.name "XIAOLI"git config --global user.email "XXX@qq.com"

查看配置信息

git config --list

在这里插入图片描述

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

https://blog.csdn.net/m0_57037182/article/details/121403931

4.2 获取Git仓库

要使用Git对我们的代码进行管理,首先需要获得Git仓库。

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

  • 在本地初始化Git仓库(不常用)
  • 从远程仓库克隆(常用)

4.2.1 在本地初始化Git仓库

操作步骤如下

1、在任意目录下创建一个目录(例如Test)作为本地Git仓库

在这里插入图片描述

2、进入这个目录中,点击右键打开Git bash窗口

3、执行命令git init

在这里插入图片描述

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

在这里插入图片描述

4.2.2 从远程仓库克隆

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

# 命令格式:git clone 远程仓库地址
git clone https://gitcode.net/qq_39237205/test_git.git

在这里插入图片描述

在这里插入图片描述

4.3 常见的概念:工作区、暂存区、版本库

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

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

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

在这里插入图片描述

4.4 常见的概念:Git工作区中文件的状态

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

  • untracked 未跟踪(未被纳入版本控制)

  • tracked 已跟踪(被纳入版本控制)

    ​ 1)Unmodified 未修改状态

    ​ 2)Modified 已修改状态

    ​ 3)Staged 已暂存状态

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

4.5 本地仓库操作

本地仓库常用命令如下:

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

4.5.1 git status

# 命令用于查看文件状态
git status

在这里插入图片描述

注意:由于工作区中文件状态的不同,执行 git status 命令后的输出也会不同

4.5.2 git add

# git add 命令的作用是将文件的修改加入暂存区,
# 命令格式:
git add fileName

在这里插入图片描述

加入暂存区后再执行 git status 命令,可以发现文件的状态已经发生变化。

在这里插入图片描述

4.5.3 git reset

# git reset 命令的作用是将暂存区的文件**取消暂存**或者是**切换到指定版本**# 取消暂存命令格式:
git reset 文件名# 切换到指定版本命令格式:
git reset --hard 版本号

在这里插入图片描述

注意:每次Git提交都会产生新的版本号,通过版本号就可以回到历史版本

4.5.4 git commit

# git commit 命令的作用是将暂存区的文件修改提交到版本库,
git commit -m msg 文件名

在这里插入图片描述

解释说明:

-m:代表message,每次提交时需要设置,会记录到日志中

可以使用通配符*一次提交多个文件

4.5.5 git log

# 查看提交日志
git log 

在这里插入图片描述

通过git log命令查看日志,可以发现每次提交都会产生一个版本号,提交时设置的message、提交人、邮箱、提交时间等信息都会记录到日志中

4.6 远程仓库操作

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

  • git remote 查看远程仓库
  • git remote add 添加远程仓库
  • git clone 从远程仓库克隆
  • git pull 从远程仓库拉取
  • git push 推送到远程仓库

4.6.1 git remote

# 如果要查看已经配置的远程仓库服务器,可以执行 git remote 命令,它会列出每一个远程服务器的简称。# 如果已经克隆了远程仓库,那么至少应该能看到 origin ,这是 Git 克隆的仓库服务器的默认名字。git remote

在这里插入图片描述

解释说明:

可以通过-v参数查看远程仓库更加详细的信息

本地仓库配置的远程仓库都需要一个简称,后续在和远程仓库交互时会使用到这个简称

4.6.2 git remote add

添加远程仓库命令格式:git remote add 简称 远程仓库地址

在这里插入图片描述

注意:一个本地仓库可以关联多个远程仓库

4.6.3 git clone

如果你想获得一份已经存在了的 Git 远程仓库的拷贝,这时就要用到 git clone 命令。 Git 克隆的是该 Git 仓库服务器上的几乎所有数据(包括日志信息、历史记录等)。

克隆仓库的命令格式: git clone 远程仓库地址

在这里插入图片描述

4.6.4 git push

# 将本地仓库内容推送到远程仓库,命令格式:
git push 远程仓库简称 分支名称

在使用git push命令将本地文件推送至码云远程仓库时,如果是第一次操作,需要进行身份认证,认证通过才可以推送,如下:

在这里插入图片描述

注意:上面的用户名和密码对应的就是我们在码云上注册的用户名和密码,认证通过后会将用户名和密码保存到windows系统中(如下图),后续再推送则无需重复输入用户名和密码。

在这里插入图片描述

推送完成后可以到远程仓库中查看文件的变化。

解释说明:

一个仓库可以有多个分支,默认情况下在创建仓库后会自动创建一个master分支

4.6.5 git pull

# 从远程仓库获取最新版本并合并到本地仓库
git pull 远程仓库简称 分支名称

在这里插入图片描述

注意如果当前本地仓库不是从远程仓库克隆,而是本地创建的仓库,并且仓库中存在文件,此时再从远程仓库拉取文件的时候会报错(fatal: refusing to merge unrelated histories )解决此问题可以在:git pull命令后加入参数–allow-unrelated-histories

4.7 常见的概念:分支

4.7.1 图解分支

为了便于理解,大家暂时可以认为分支就是当前工作目录中代码的一份副本。

使用分支,可以让我们从开发主线上分离出来,以免影响开发主线。

在这里插入图片描述

4.7.2 分支细分

  1. 主分支(master):第一次向 git 仓库中提交更新记录时自动产生的一个分支。

在这里插入图片描述

  1. 、开发分支(develop):作为开发的分支,基于 master 分支创建。

在这里插入图片描述

  1. 功能分支(feature):作为开发具体功能的分支,基于开发分支创建

在这里插入图片描述

功能分支 -> 开发分支 -> 主分支

分支是Git 使用过程中非常重要的概念。使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线。

本地仓库和远程仓库中都有分支,同一个仓库可以有多个分支,各个分支相互独立,互不干扰。

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

4.8 分支操作

  • git branch 查看分支
  • git branch [name] 创建分支
  • git checkout [name] 切换分支
  • git push [shortName] [name] 推送至远程仓库分支
  • git merge [name] 合并分支
  • git branch -d [name] 删除分支(分支被合并后才允许删除)(-D 强制删除)

4.8.1 查看分支

# 查看分支命令:git branchgit branch 		列出所有本地分支
git branch -r 	列出所有远程分支
git branch -a 	列出所有本地分支和远程分支

在这里插入图片描述

4.8.2 创建分支

# 创建分支命令格式:git branch 分支名称

在这里插入图片描述

4.8.3 切换分支

# 一个仓库中可以有多个分支,切换分支命令格式:git checkout 分支名称
# 切换以后 文件夹会自动变成对应分支在本地的内容
git checkout 分支名称

在这里插入图片描述

注意:在命令行中会显示出当前所在分支,如上图所示。

4.8.4 推送至远程仓库分支

推送至远程仓库分支命令格式:git push 远程仓库简称 分支命令

在这里插入图片描述

推送完成后可以查看远程仓库:

在这里插入图片描述

4.8.5 合并分支

合并分支就是将两个分支的文件进行合并处理,命令格式:git merge 分支命令

# 举例:我们要将new分支合并到master分支
# 我们需要先 切换到master分支
git checkout master
# 然后再执行将new分支合并到master分支
git merge new
# 如图所示 合并成功

在这里插入图片描述

在这里插入图片描述

注意:分支合并时需注意合并的方向,如上图所示,在Master分支执行操作,结果就是将new分支合并到Master分支。

4.9 标签操作

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

下面是mybatis-plus的标签:

在这里插入图片描述

在本节中,我们将学习如下和标签相关的命令:

  • git tag 查看标签
  • git tag [name] 创建标签
  • git push [shortName] [name] 将标签推送至远程仓库
  • git checkout -b [branch] [name] 检出标签

4.9.1 查看标签

查看标签命令:git tag

在这里插入图片描述

4.9.2 创建标签

创建标签命令:git tag 标签名

# 创建新标签
git tag M1# 显示标签列表
git tag

在这里插入图片描述

4.9.3 将标签推送至远程仓库

将标签推送至远程仓库命令:git push 远程仓库简称 标签名
在这里插入图片描述

推送完成后可以在远程仓库中查看标签。

在这里插入图片描述

4.9.4 检出标签

# 检出标签时需要新建一个分支来指向某个标签,检出标签的命令格式:git checkout -b 分支名 标签名

在这里插入图片描述

4.10 暂时保存更改

#在git中,可以暂时提取分支上所有的改动并存储,让开发人员得到一个干净的工作副本,临时转向其他工作。
# 使用场景:分支临时切换# 存储临时改动:
git stash
# 恢复改动:
git stash pop

4.11 GIT忽略清单

将不需要被git管理的文件名字添加到此文件中,在执行git命令的时候,git就会忽略这些文件。

git忽略清单文件名称:.gitignore

将工作目录中的文件全部添加到暂存区:git add .

一个参考的.gitignore文件内容如下:

.git
logs
rebel.xml
target/
!.mvn/wrapper/maven-wrapper.jar
log.path_IS_UNDEFINED
.DS_Store
offline_user.md
*.class### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr

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

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

相关文章

matlab dir函数_MATLAB自动管理文件

MATLAB自动管理文件1. MATLAB中路径设置(1)cd:用于切换当前工作目录示例:将当前工作目录切换到D:\Documents\MATLAB\Matlab test\study下。代码:cd (D:\Documents\MATLAB\Matlab test\study)(2)path:用于对搜索路径的操作示例:先查看当前所有的文件路径&…

Git 分布式版本控制工具 04Gitcode案例:多人协作开发流程+创建仓库+拉取操作+克隆仓库+拉取远程仓库中最新的版本+修改拉取的本地代码

文章目录5. Gitcode5.1 多人协作开发流程5.2 创建仓库5.3 拉取操作5.3.1 克隆仓库5.3.2 拉取远程仓库中最新的版本5.4 修改拉取的本地代码5.5 解决冲突5.6 跨团队协作5. Gitcode 在版本控制系统中,大约90%的操作都是在本地仓库中进行的:暂存&#xff0c…

rabbitmq如何保证消息不被重复消费_如何保证消息不被重复消费

一. 重复消息为什么会出现消息重复?消息重复的原因有两个:1.生产时消息重复,2.消费时消息重复。1.1 生产时消息重复由于生产者发送消息给MQ,在MQ确认的时候出现了网络波动,生产者没有收到确认,实际上MQ已经…

Git 分布式版本控制工具 06在IDEA中使用Git:获取Git仓库+本地仓库操作+远程仓库操作+创建/查看/切换/推送/合并分支操作

在IDEA中使用Git7. 在IDEA中使用Git7.1 在IDEA中配置Git7.2 获取Git仓库7.2.1 本地初始化仓库7.2.2 从远程仓库克隆7.3 Git忽略文件7.4 本地仓库操作7.4.1 将文件加入暂存区7.4.2 将暂存区文件提交到版本库7.4.3 查看日志7.5 远程仓库操作7.5.1 查看远程仓库7.5.2 添加远程仓库…

linux 内核宏container_of剖析

1、前面说的我在好几年前读linux 驱动代码的时候看到这个宏,百度了好久,知道怎么用了,但是对实现过程和原理还是一知半解。container_of宏 在linux内核代码里面使用次数非常非常多,对于喜欢linux编程的同学来说,了解其…

目录树 删除 数据结构_数据结构:B树和B+树的插入、删除图文详解

B树1.1B树的定义B树也称B-树,它是一颗多路平衡查找树。我们描述一颗B树时需要指定它的阶数,阶数表示了一个结点最多有多少个孩子结点,一般用字母m表示阶数。当m取2时,就是我们常见的二叉搜索树。一颗m阶的B树定义如下:1)每个结点最…

MMdetection框架速成系列 第01部分:学习路线图与步骤+优先学习的两个目标检测模型代码+loss计算流程+遇到问题如何求助+Anaconda3下的安装教程(mmdet+mmdet3d)

mmdetection 学习目录1 mmdetection 学习建议1.1 mmdetection 学习的第一件事1.2 mmdetection学习路线图1.2.1 优先看的两个库1.2.2 阅读代码1.2.3 代码学习步骤1.2.4 建议优先学习的两个目标检测模型代码1.2.5 loss计算流程的攻坚克难1.3 遇到问题如何求助2 Anaconda3下的安装…

机器人循迹小车资料

前言 我记得在大学的时候,参加电子比赛,我们有一个题目是平衡小车项目,那个对基础要求还是比较高的,总结了一些平衡车机器的资料,希望对大家有帮助。 正文 关注公众号,回复【机器人资料】获取

单片机实现环形队列_稀疏数组和队列(二)

队列的介绍队列以一种先入先出(FIFO)的线性表,还有一种先入后出的线性表(FILO)叫做栈。教科书上有明确的定义与描述。类似于现实中排队时的队列(队尾进,队头出),队列只在线性表两端进行操作,插入元素的一端称为表尾,删…

漫画-Linux中断子系统综述

1、中断引发的面试教训2、什么是中断?中断: (英语:Interrupt)指当出现需要时,CPU暂时停止当前程序的执行转而执行处理新情况的程序和执行过程。即在程序运行过程中,系统出现了一个必须由CPU立即…

SQL强化(二) 在Oracle 中写代码

一 : 关于查询中的转换 -- 字符串转换 一 : decode 函数 转换 SELECT DECODE ( PROTYPE.PRO_TYPE_DATE, L, 长, m, 短, 默认值 )FROM PROTYPE -- 字符串转换 二 : case 转换 SELECT T1.PRO_TYPE_ID, T1.PRO_TYPE_NAME, CASE T1.PRO_TYPE_DATEWHEN S THEN 短WHEN L THEN 长EL…

vue 非es6 写法怎么按须加载_Vue源码必学指南:flow(语法检查)以及rollup(模板打包)...

点击上方蓝色字关注我们~一、前言虽然 Vue3 已经公开了代码,但是Vue3.0还处于开发阶段,直接上手使用Typescript是不合适的 , 对于前端的老手是不错的选择, 但是如果没有研究源码经验的开发者还是建议使用完善, 成熟的源码进行入手. 而 Vue 2.x 中使用的 flow 是一个…

漫画|创业到底有多难?

我有一群同事,我们一起经历了一个产品从无到有的过程,从开始的斗志满满到最后跟老板的不欢而散,其中的辛酸苦楚也许只能我们自己能体味,在这过程中,我们共同经历过的事情,有快乐的,悲伤的&#…

生成step文件_利用opencv给彦女王生成一副蒙太奇画像

大家好呀,前两天烈阳天道1上映了,不知道大家看没看呢,里面还有一小段彦穿越虫洞与猴哥相遇的画面,彦女王啊啊啊~~所以我去网上爬了二百来张我大学的风景画,然后找了以前存的彦女王的图片,生成了一幅蒙太奇画…

浪漫情人节|C语言画心型

1.前言新年第一天上班,先祝大家新年快乐,巧的是,今天刚好又是情人节,所以想了下用C实现画心形符号~过年的时候,跟我表哥去接新娘,实地看了下,如果一个汉字内心没有点浪漫的细胞,很难…

CS190.1x Scalable Machine Learning

这门课是CS100.1x的后续课,看课程名字就知道这门课主要讲机器学习。难度也会比上一门课大一点。如果你对这门课感兴趣,可以看看我这篇博客,如果对PySpark感兴趣,可以看我分析作业的博客。 Course Software Setup 这门课的环境配置…

./4.sh: No such file or directory

sh push到目标板后提示出错 #!/bin/bash echo "ladjfaosdjfoia"头bin/bash 我们要看,sh在哪里 130|rk3399_idpad:/data # which sh /system/bin/sh rk3399_idpad:/data # 所以上面的代码应该写成 #!/system/bin/sh echo "ladjfaosdjfoia"修…

Spring总结四:IOC和DI 注解方式

首先我们要了解注解和xml配置的区别: 作用一样,但是注解写在Bean的上方来代替我们之前在xml文件中所做的bean配置,也就是说我们使用了注解的方式,就不用再xml里面进行配置了,相对来说注解方式更为简便。 IOC获取对象注…

和后台如何对接_业务系统如何对接第三方服务?

在产品工作中,我们时常要对接第三方服务。本文作者从过往的对接项目经历中,提炼的关于业务系统,如何对接第三方服务的方法论,希望能对你有所帮助。随着公司业务的发展,我们有时会遇到,需要在自身业务系统中…

adb 启动某个apk

有时候需要用apk来启动某个apk adb shell am start -n com.android.launcher3/com.android.launcher3.Launcher 具体查看~ /rk3399_7in1/packages/apps/Launcher3/AndroidManifest.xml