GIT命令操作大全

news2024/9/22 17:24:26

文章目录

    • 一、前言
    • 二、工作模块
      • 2.1 Workspace:工作区
      • 2.2 Index / Stage:暂存区
      • 2.3 Repository:本地仓库
      • 2.4Remote:远程仓库
    • 三、GIT基本配置
    • 四、GIT项目代码管理
      • 4.1 初始化git仓库
      • 4.2 提交到暂存区(stage)
      • 4.3 将暂存区的文件恢复到工作区
      • 4.4 查看工作区、暂存区的状态
      • 4.5 移除暂存区的修改
      • 4.6 将缓存区文件提交到本地仓库
      • 4.7 撤销commit提交
      • 4.8 查看日志
    • 五、版本控制
      • 5.1 回到指定哈希值对应的版本
      • 5.2 版本回退
    • 六、GIT分支
      • 6.1 查看分支
      • 6.2 创建分支
      • 6.3 切换分支
      • 6.4 创建并切换分支
      • 6.5 合并分支
      • 6.6 删除分支
      • 6.7 删除远程分支
    • 七、远程仓库(团队合作)
      • 7.1 克隆远程仓库
      • 7.2本地仓库与远程库进行关联
      • 7.3 查看远程仓库地址别名
      • 7.4 新建远程仓库地址别名
      • 7.5 删除本地仓库中的远程仓库别名
      • 7.6 重命名远程仓库地址别名
      • 7.7 远程库的修改拉取到本地
      • 7.8 将本地的分支推送到远程仓库(先拉取在push)

一、前言

Git是目前世界上最先进的分布式版本控制系统,每个人的电脑就是一个完整的版本库,这样,工作的时候就不需要联网了,因为版本都是在自己的电脑上。通过远程仓库实现多人协作开发。

二、工作模块

在这里插入图片描述

2.1 Workspace:工作区

就是你在电脑上看到的目录,有一个隐藏文件夹.git,这个不属于工作区,这是版本库。

2.2 Index / Stage:暂存区

暂缓区是存在于版本库中的,也就是.git文件下。通过git add将工作区修改的文件提交到暂存区中

2.3 Repository:本地仓库

这个就代表整个项目在本地电脑中存放的仓库,通过git commit将暂存区数据提交到本地仓库中。

2.4Remote:远程仓库

本地仓库通过pull拉去远程仓库数据,然后push将本地仓库修改内容提交到远程仓库中。

三、GIT基本配置

  1. 检查git版本:git --version
  2. 查看git相关命令:git --help
  3. 查看当前的git配置信息: git config --list
  4. 查看/设置git用户名: git config user.namegit config --global user.name 名称
  5. 查看/设置git邮箱: git config user.namegit config --global user.email 邮箱

四、GIT项目代码管理

4.1 初始化git仓库

git init

4.2 提交到暂存区(stage)

  1. git add * 将工作区所有修改添加到暂存区

  2. git add . 将工作区所有修改添加到暂存区

  3. git add <file-name> 将指定文件添加到暂存区

  4. git add *.js 提交所有.js格式文件

  5. git add -f <file-name> 强制添加 指定文件添加到暂存区

注:指的是文件的名称

4.3 将暂存区的文件恢复到工作区

  1. git reset <file-name> 从暂存区恢复指定到工作区

  2. git reset -- . 从暂存区恢复所有文件到工作区

  3. git reset --hard ` 把暂存区的修改退回到工作区

4.4 查看工作区、暂存区的状态

git status

4.5 移除暂存区的修改

git rm --cached <file-name>

4.6 将缓存区文件提交到本地仓库

  1. git commit <file-name> ... "相关的记录信息" 将暂缓区指定文件提交到本地仓库
  2. git commit -m "相关的记录信息" 将暂缓区的所有文件提交到本地仓库
  3. git commit -am "相关的记录信息" 跳过暂存区域直接提交更新并添加备注信息
  4. git commit --amend "相关的记录信息" 使用一次新的commit,替代上次提交

4.7 撤销commit提交

  1. git revert HEAD^ 撤销上上次的提交
  2. git revert HEAD 撤销最近的一个提交(创建了一个撤销上次提交(HEAD)的新提交)

4.8 查看日志

  1. 查看历史提交(commit)记录
  1. git log //查看历史commit记录注:空格向下翻页,b向上翻页,q退出
  2. git log --oneline //以简洁的一行显示,包含简洁哈希索引值
  3. git log --pretty=oneline //查看日志且并且显示版本
  4. git log --stat //显示每个commit中哪些文件被修改,分别添加或删除了多少行
  1. git log --graph 查看分支合并图

  2. git log --oneline --graph 查看版本线图

五、版本控制

5.1 回到指定哈希值对应的版本

  1. git reset --hard <Hash> 注: 是版本的哈希值
  2. git reset --hard HEAD 强制工作区、暂存区、本地库为当前HEAD指针所在的版本

5.2 版本回退

git reset --hard HEAD~1 后退一个版本
注:~后面的数字表示回退多少个版本

六、GIT分支

6.1 查看分支

  1. git branch 查看所有本地分支
  2. git branch -r 查看所有远程分支
  3. git branch -a 查看所有远程分支和本地分支
  4. git branch --merged 查看已经合并的分支

6.2 创建分支

git branch <branch-name>
注: 是分支的名称

6.3 切换分支

  1. git checKout <branch-name> 切换到指定分支,并更新工作区

  2. git checkout - 切换到上一个分支

6.4 创建并切换分支

git chechout -b <branch-name>

6.5 合并分支

git merge <branch-name>

6.6 删除分支

  1. git branch -d <branch-name> 只能删除已经被当前分支合并的分支
  2. git branch -D <>branch-name> 强制删除分支

6.7 删除远程分支

git push origin --delete <remote-branch-name>
注: 远程分支名

七、远程仓库(团队合作)

7.1 克隆远程仓库

git clone <url>

7.2本地仓库与远程库进行关联

git remote add origin <url>

7.3 查看远程仓库地址别名

git remote -v

7.4 新建远程仓库地址别名

git remote add <alias> <url>
注: 远程仓库的别名

7.5 删除本地仓库中的远程仓库别名

git remote rm <alias>

7.6 重命名远程仓库地址别名

git remote rename <old-alias> <new-alias>

7.7 远程库的修改拉取到本地

  1. git fetch <alias/url> <remote-branch-name> 抓取远程仓库的指定分支到本地,但没有合并
  2. git merge <alias-branch-name> 将抓取下来的远程的分支,跟当前所在分支进行合并
  3. git pull <alias/url> <remote-branch-name> 拉取到本地,并且与当前所在的分支进行合并

7.8 将本地的分支推送到远程仓库(先拉取在push)

  1. git push <alias/url> <branch-name> 将本地的每个分支推送到远程仓库
  2. git push <alias/url> --force 强行推送 当前分支到远程仓库,即使有冲突
  3. git push <alias/url> --all 推送所有本地分支到远程仓库

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

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

相关文章

解决HC-05/HC06等蓝牙模块的调试问题

解决HC-05/HC06等蓝牙模块的调试问题问题&#xff1a;1.无法使用USB转串口工具设置HC-05等蓝牙模块&#xff0c;具体问题是&#xff1a;发送AT指令&#xff0c;无回复&#xff1b;2.电脑如何连接HC-05模块&#xff0c;与模块通信&#xff08;具体场景&#xff1a;HC-05模块的串…

python学习之pyecharts库的使用总结

pyecharts官方文档&#xff1a;https://pyecharts.org//#/zh-cn/ 【1】Timeline 其是一个时间轴组件&#xff0c;如下图红框所示&#xff0c;当点击红色箭头指向的“播放”按钮时&#xff0c;会呈现动画形式展示每一年的数据变化。 data格式为DataFrame&#xff0c;数据如下图…

数据结构——TreeMap、TreeSet与HashMap、HashSet

目录 一、Map 1、定义 2、常用方法 3、注意 二、TreeMap 三、HashMap 1、定义 2、冲突定义 3、冲突避免方法——哈希函数设计 &#xff08;1&#xff09;、直接定制法(常用) &#xff08;2&#xff09;、除留余数法(常用) &#xff08;3&#xff09;、平方取中法 &…

kubectl命令控制远程k8s集群(Windows系统、Ubuntu系统、Centos系统)

文章目录1. 本地是linux2. 本地是Windows1. 本地是linux 安装kubectl命令 法一&#xff1a;从master的/usr/bin目录下拷贝kubectl文件到本机/usr/bin目录下法二&#xff1a;GitHub下载kubectl文件 在家目录下创建.kube目录config文件 法一&#xff1a;将master上对应用户的~/.…

binlog、redolog、undolog

目录 一、binlong 1、binlog介绍 作用 特点 2、日志格式 3、写入流程 二、redo log 1、redo log作用 2、redo log如何写入 3、怎么提交数据进行刷盘 4、奔溃恢复流程 三、undolog 一、binlong 1、binlog介绍 作用 binlog是 mysql server 层的一种二进制日志&…

GA-PEG-GA,Glutaric Acid-PEG-Glutaric Acid,戊二酸-聚乙二醇-戊二酸供应

英文名称&#xff1a;Glutaric Acid-PEG-Glutaric Acid&#xff0c;GA-PEG-GA 中文名称&#xff1a;戊二酸-聚乙二醇-戊二酸 GA-PEG-GA是一种线性双功能PEG羧酸试剂。PEG和羧基COOH之间存在C4酯键。PEG羧酸可用于与氨基反应&#xff0c;与NHS和DCC、EDC等肽偶联试剂反应。 P…

CUDA原子操作|参加CUDA线上训练营

什么是原子操作 CUDA的原子操作可以理解为对一个Global memory或Shared memory中变 “读取-修改-写入” 这三个操作的一个最小单位的执行过程&#xff0c;在它执量进行行过程中&#xff0c;不允许其他并行线程对该变量进行读取和写入的操作。 基于这个机制&#xff0c;原子操…

实测2023款哪吒U-II,智驾功能对女司机很友好

最近&#xff0c;我们受邀试驾了2023款哪吒U-II。这是一款A级新能源SUV&#xff0c;是哪吒U的改款车型。哪吒U系列自2020年3月上市到2023年1月&#xff0c;累计销售数量达76688台&#xff0c;也因此被称为15万级智能天花板。2023款哪吒U-II的一大亮点是&#xff1a;针对以往哪吒…

react基础,操作属性样式事件。事件处理this指向问题,及案例

1.1 React 起源于 Facebook 于2013年5月开源. 是一个用于构建用户界面的 JavaScript 库, 与vue,angular并称前端三大框架&#xff0c;现在最新版本是18 特点&#xff1a;-数据驱动&#xff08;操作数据&#xff09; - 组件化 - 虚拟DOM 开发环境&#xff1a; cdn引入js <…

Theano教程:Python的内存管理

在写大型程序时候的一大挑战是如何保证最少的内存使用率。但是在Python中的内存管理是比较简单的。Python显示分配内存&#xff0c;使用引用计数系统管理对象&#xff0c;当指向某一个对象的引用数变为 0 的时候&#xff0c;该对象所占的内存就会被释放。理论上听起来很不错&am…

Linux基础语法进阶版

Linux基础语法 查看文件内容指令 touch 主要是修改文件时间&#xff0c;多用创建文件 -a #只更改访问时间 -m #只更改修改时间 -c --no-create#不创建任何文件cat 展示小文件内容 -b #对于非空输出行编号 -n #对于所有行输出编号 -E #在每行结束处显示"$" -A #展示所…

全国重点城市春节商圈客流数据来了,最火爆商圈果然是它 | 数说热点

作为疫情防控政策进一步放开后的首个春节&#xff0c;在“返乡潮”、“出游潮”和各地促销费政策的刺激下&#xff0c;火热强劲且亮点纷呈的线下消费市场随烟火气再次回归。那么2023年春节&#xff0c;线下消费市场呈现出哪些特点&#xff1f;全国各大购物中心在引客流聚人气方…

Java开发学习(五十)----MyBatisPlus快速开发之代码生成器解析

1、代码生成器原理分析 造句: 我们可以往空白内容进行填词造句&#xff0c;比如: 在比如: 观察我们之前写的代码&#xff0c;会发现其中也会有很多重复内容&#xff0c;比如: 那我们就想&#xff0c;如果我想做一个Book模块的开发&#xff0c;是不是只需要将红色部分的内容全部…

uni-app②

文章目录二、微信小程序简介&#xff08;一&#xff09;文档相关开发者工具使用小程序代码构成小程序基本操作三、uniapp 开发规范uniapp 开发环境开发工具下载 HBuilderX工程搭建项目运行浏览器运行四、组件基础组件基础组件列表组件公共属性集合扩展组件自定义组件UNI-ICON五…

MyBatis笔记【JavaEE】

1.MyBatis是什么 持久层框架 【也是一个ORM框架 对象关系映射】 是一个优秀的ORM持久层框架 特点&#xff1a;灵活 支持自定义SQL、存储过程以及高级映射。MyBatis去除了几乎所有的JDBC代码以及设置参数和获取结果集的工作。MyBatis可以通过简单的XML或注解来配置和映射原始类…

分布式缓存服务DCS-企业版性能更强,稳定性更高

背景介绍 近年来&#xff0c;随着各行业业务需求急速增加&#xff0c;数据量和并发访问量呈指数级增长&#xff0c;原来只能依附于关系型数据库的传统“缓存”逐渐难以支撑上层业务&#xff0c;开源Redis也面临着如“容量有限”、 “可靠性有限”、 “数据重复拷贝&#xff0c…

GeniE 实用教程(二)几何与网格

目 录一、前言二、Guiding Geometry2.1 Guide Point2.2 Guide Line2.3 Guide Plane2.4 Polyline三、Structure3.1 结构梁3.2 结构板3.1 结构壳四、Mesh4.1 网格属性4.2 网格划分4.3 查看网格五、参考文献一、前言 SESAM &#xff08;Super Element Structure Analysis Module&a…

操作系统(day08)内存

存储单元 内存的几个基本概念 存储单元 内存地址从0开始&#xff0c;每个地址对应一个存储单元 存储单元大小根据计算机按照什么方式编址 按字节编址 则每个存储单元大小为一字节&#xff0c;即1B&#xff0c;即8个二进制位按字编址 看这个计算的字长是多少位&#xff0c;如…

一到重要时刻就大脑空白?

很多人可能都经历过这样一幕&#xff1a;花了好多精力准备的一场考试、面试、演讲&#xff0c;到了上场的那一刻&#xff0c;之前准备的东西全都忘了&#xff0c;大脑一片空白。为什么会这样呢&#xff1f;我们所学到的东西都要经过三个步骤才能成为记忆&#xff1a;获取&#…

Leetcode 每日一题 1234. 替换子串得到平衡字符串

Halo&#xff0c;这里是Ppeua。平时主要更新C语言&#xff0c;C&#xff0c;数据结构算法......感兴趣就关注我吧&#xff01;你定不会失望。 &#x1f308;个人主页&#xff1a;主页链接 &#x1f308;算法专栏&#xff1a;专栏链接 我会一直往里填充内容哒&#xff01; &…