Git基础命令:带图整理

news2024/10/6 22:32:19

基础命令

在这里插入图片描述

Git 安装

Git下载地址

  • https://git-scm.com/downloads

Git安装(Window/Mac)

  • 选择不同系统安装包安装

检验是否安装成功

  • 出现Git Bash命令行工具或Git GUI工具
  • git --version 查看git安装版本

Git 结构

工作区(Working Directory)

版本库(repository)

  • 暂存区(stage/index)

  • master

    • head唯一指向

Git 文件的4种状态

Untracked(未被跟踪的)

  • 此文件在文件夹中, 但并没有加入到git库, 不参与版本控制. 通过git add 状态变为Staged.

Unmodify(文件已经入库)

  • 文件已经入库, 未修改, 即版本库中的文件快照内容与文件夹中完全一致. 这种类型的文件有两种去处, 如果它被修改, 而变为Modified. 如果使用git rm移出版本库, 则成为Untracked文件

Modified(文件已修改)

  • 文件已修改, 仅仅是修改, 并没有进行其他的操作. 这个文件也有两个去处, 通过git add可进入暂存staged状态, 使用git checkout 则丢弃修改过, 返回到unmodify状态, 这个git checkout即从库中取出文件, 覆盖当前修改

Staged(暂存状态)

  • 执行git commit则将修改同步到库中, 这时库中的文件和本地文件又变为一致, 文件为Unmodify状态. 执行git reset HEAD filename取消暂存, 文件状态为Modified

Git基本命令

git init

  • 初始化git仓库
  • 出现.git文件夹

git add

  • git add

    • 将文件添加到暂存区
  • git add .

    • 将工作空间下所有文件添加到暂存区(new,modifyed)
  • git add -A

    • 将工作空间下所有文件添加到暂存区(new,modifyed,delete)
  • git add -u

    • 将工作空间下所有文件添加到暂存区(modifyed,delete)

git commit

  • git commit -m

    • 将暂存区的文件提交到版本库
  • git commit -am

    • 跳过git add 命令,直接将工作区所有已跟踪的文件提交到版本库,未跟踪的(untracked)文件不能使用该命令

git status

  • git status -s

git log

  • git log --graph --oneline
  • git log --oneline

git config

  • git全局配置命令

    • git config --global user.name zivszheng
    • git config --global user.email zivs.zheng@gmail.com
  • 查看配置

    • git config --list
  • 单个项目配置

    • 项目父路径/.git/config文件

git stash

  • git stash

    • 暂存本地修改内容(不想提交修改的内容,想切换分支)
  • git stash list

    • 查看暂存的历史记录
  • git stash apple --index

    • 恢复之前暂存的某个记录
  • git stash drop --index

    • 删除某个暂存记录

git rm

  • 用于从工作区和索引中删除文件

  • 常见使用:删除已经提价到远程仓库的 .idea, .seting 文件/文件夹(项目构建自动生成的)

    • git rm -r .idea
    • git commit -m ‘remove .idea’
    • git push origin master

Git commit 解析

commit Object/master/HEAD

  • tree

    • 项目目录结构
  • parent

    • 指向上一个commit Object
  • author/commiter

  • commit message

查看对象

  • git cat-file -p HEAD/唯一ID
  • git cat-file -t HEAD/唯一ID

Git diff

git diff

  • 比较本地工作空间和staged区的差异

git diff – staged

  • 比较staged区和本地仓库中的差异

git diff HEAD

  • 比较本地工作空间和本地仓库中的差异

Git 撤销操作

git commit --amend

  • 撤销上一次提交将暂存区的文件重新提交(改写提交)

git checkout --filename

  • 拉取暂存区的文件并将其替换工作区的文件
  • 注意与git checkout branchname 区别

git reset HEAD --filename

  • 拉取最近一次提交到版本库中的文件到暂存区,该操作不影响工作区

git reset --option 版本号

  • –hard

    • 硬回滚(不可逆的),即暂存区,工作区全部用指定提交版本的目录树替换掉
  • –mixed

    • mixed或不使用参数,覆盖暂存区,但不覆盖工作区
  • –soft

    • 软回滚,不进行暂存区和工作区的覆盖

Git 分支

git 分支创建、修改、删除、切换

  • git branch

    • 查看分支
  • git branch

    • 创建分支
  • git branch -m

    • 修改分支名称
  • git checkout

    • 切换分支
  • git checkout -b

    • 创建并切换分支
  • git branch -d

    • 删除分支

分支合并

  • git merge

    • 合并指定分支到当前分支(Fast forward)
  • git merge -no-ff -m

    • 合并指定分支到当前分支(-no-ff 参数表示禁用Fast forward)

查看分支来自哪一个分支

  • git reflog --date=local | grep

Git远程仓库

git clone

  • git clone http://gitlab.xqchuxing.com/gittest/xqchuxing-test.git

git remote

  • git remote -v

    • 查看远程信息

git push

  • git push -u origin master

    • 将本地上分支上推到

git pull

  • git pull origin dev:master

    • 获取远程的dev分支和本地的master分支合并
  • git pull origin dev

    • 获取远程的dev分支和当前分支合并,实际是先执行git fetch 后再执行git merge

git fetch

  • git fetch origin dev

    • 获取远程dev分支但不做合并

关联远程仓库

git remote add origin http://gitlab.xqchuxing.com/gittest/xqchuxing-test.git

Git tag

git tag

  • 查看当前所有tag

git tag

  • 创建tag

git tag

  • 创建一个指向某一次提交的tag

git tag -a -m

git show

  • 查看tag

Git Help

git help

git help

官网文档地址 https://git-scm.com/book/zh/v2

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

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

相关文章

干货收藏 | 掌握ChatGPT提示词的精髓:从小白到高手!!

前言 提示决定了 ChatGPT 的输出。也就是说:GPT 生成的答案质量,完全取决于你“问它”,以及“引导它”的方式,如果你能问得好,引导的好,那么它就会帮你生成让你惊喜的答案,反之则无价值&#x…

国际版Tiktok抖音运营流量实战班:账号定位/作品发布/热门推送/等等-13节

课程目录 1-tiktok账号定位 1.mp4 2-tiktok作品发布技巧 1.mp4 3-tiktok数据功能如何开通 1.mp4 4-tiktok热门视频推送机制 1.mp4 5-如何发现热门视频 1.mp4 6-如何发现热门音乐 1.mp4 7-如何寻找热门标签 1.mp4 8-如何寻找垂直热门视频 1.mp4 9-如何发现热门挑战赛 1…

从垃圾识别到收集器:详细聊聊Java的GC

个人博客 从垃圾识别到收集器:详细聊聊Java的GC | iwts’s blog 前言 聊GC,自然离不开JVM内存模型,建议先了解JVM内存模型相关内容,或者最起码了解堆相关的内容,GC主要处理的就是堆。 这里会从垃圾识别算法->GC算法->JV…

OWASP top10--SQL注入(二)

目录 06:SQL注入提交方式 6.1、get提交 6.2、post提交 6.3、cookie提交 6.4、HTTP Header头提交 07:注入攻击支持类型 7.1、union注入: 7.1.1、union操作符一般与order by语句配合使用 7.1.2、information_schema注入 7.2、基于函数…

【云原生--K8S】K8S python接口研究

文章目录 前言一、搭建ubuntu运行环境1.运行ubuntu容器2.拷贝kubeconfig文件二、python程序获取k8s信息1.获取node信息2.获取svc信息3.常用kubernetes API总结前言 在前面的文章中我们都是通过kubectl命令行来访问操作K8S,但是在实际应用中可能需要提供更方便操作的图形化界面…

数据结构和算法|排序算法系列(二)|冒泡排序

首先需要你对排序算法的评价维度和一个理想排序算法应该是什么样的有一个基本的认知: 《Hello算法之排序算法》 主要内容来自:Hello算法11.3 冒泡排序 我觉得冒泡排序非常有意思,也非常简单,就是不停地交换相邻的元素即可&#…

c语言IO

前言 老是忘记c语言IO操作,故写个文章记录一下 打开文件 fopen FILE *fopen(const char *path, const char *mode);mode 返回值 如果文件成功打开,fopen 返回一个指向 FILE 结构的指针。如果文件打开失败(例如,因为文件不存…

SERVER ——查询(二)

目录 5. top 6. null 7. order by 8. 模糊查询: 9. 聚合函数 5. top top查询:查询表的前几行;下面是代码演示: --top(前面的几个记录) select top 2 * from emp; --查询表的前两列 select top 20 percent *…

解密论文评审过程:SCI论文是匿名送审的吗?

我是娜姐 迪娜学姐 ,一个SCI医学期刊编辑,探索用AI工具提效论文写作和发表。 前几天有位学员问我,审稿人能看见我论文的作者和单位信息吗?应该是双方都匿名才更公平啊。 同行评议,在不同的期刊操作还真不一样。有双方…

python数据分析——数据可视化(图形绘制)

数据可视化(图形绘制基础) 前言一、图形绘制基础Matplotlib简介使用过程sin函数示例 二、常用图形绘制折线图的绘制plot示例 散点图的绘制scatter()示例 柱状图的绘制bar示例 箱型图绘制plot.box示例 饼状图的绘制pie示例 三、图形绘制的组合情况多个折线…

代码随想录|Day55|动态规划 part15|● 392.判断子序列 ● 115.不同的子序列

392.判断子序列 class Solution: def isSubsequence(self, s: str, t: str) -> bool: dp [[0] * (len(t) 1) for _ in range(len(s) 1)] for i in range(1, len(s) 1): for j in range(1, len(t) 1): if s[i - 1] t[j - 1]: dp[i][j] dp[i - 1][j - 1] 1 else: dp[i…

3、xss-labs之lecel3

1、测试 开始页面&#xff0c;传入<script>alert(1)</script>&#xff0c;不出意外没有弹窗 2、按住CTRLU&#xff0c;查看返回的前端代码 3、看后端源码 htmlspecialchars() 是一个 PHP 函数&#xff0c;用于将特殊字符转换为 HTML 实体。比如 & &#xff08…

访问元组元素

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 在Python中&#xff0c;如果想将元组的内容输出也比较简单&#xff0c;可以直接使用print()函数即可。例如&#xff0c;要想打印上面元组中的untitle…

Java核心:注解处理器

Java提供了一个javac -processor命令支持处理标注有特定注解的类&#xff0c;来生成新的源文件&#xff0c;并对新生成的源文件重复执行。执行的命令大概是这样的: javac -XprintRounds -processor com.keyniu.anno.processor.ToStringProcessor com.keyniu.anno.processor.Po…

LeetCode热题100—链表(一)

160.相交链表 题目 给你两个单链表的头节点 headA 和 headB &#xff0c;请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点&#xff0c;返回 null 。 图示两个链表在节点 c1 开始相交&#xff1a; 题目数据 保证 整个链式结构中不存在环。 注意&#x…

头歌结构化分析方法-数据流图

第1关&#xff1a;数据流图-画出外部实体 第2关&#xff1a;数据流图-画出加工 第3关&#xff1a;数据流图-画出数据存储 第4关&#xff1a;数据流图-画出数据流 第5关&#xff1a;数据流图-机票预定系统

奥维互动地图奥维彩色图源

彩色图源(不足&#xff0c;更精细放大) 等位线3D模式 中科星 谷歌2024(不足没以前高清)

神经网络与深度学习-简要入门

参考引用 神经网络与深度学习 1. 绪论 从根源来讲&#xff0c;深度学习是机器学习的一个分支&#xff0c;是指一类问题以及解决这类问题的方法 深度学习问题是一个机器学习问题&#xff0c;指从有限样例中通过算法总结出一般性的规律&#xff0c;并可以应用到新的未知数据上深…

vi和vim编辑器

目录 1 vi和vim的基本介绍 2 vi和vim常用的三种模式 1&#xff09;正常模式 2&#xff09;插入模式 3&#xff09;命令行模式 3 vim快捷键 1&#xff09;普通模式下&#xff1a; 2&#xff09;输入模式 3&#xff09;命令行模式 4&#xff09;可视模式 1 vi和vim的基本…

【机器学习与大模型】开源大模型和闭源大模型:技术发展与社会责任的平衡点

目录 &#x1f4a1;引言✈️✈️一&#xff0c;开源大模型的优势与劣势✈️✈️1.1 优势&#xff1a;✈️✈️1.2 挑战和劣势&#xff1a; &#x1f680;&#x1f680;2. 闭源大模型的优势与劣势&#x1f680;&#x1f680;2.1 优势&#xff1a;&#x1f680;&#x1f680;2.2 …