git 命令查询

embedded/2024/11/28 23:54:52/

git 命令查询

创建命令 Create

Git 指令命令说明

git clone <url>

克隆远程仓库

git init

初始化本地 git 仓库(即创建新的本地仓库)

本地更改 Local Changes

Git 指令命令说明

git status

查看当前分支状态

git diff

查看已跟踪文件的变更

git add <file>

将指定的文件添加到暂存区

git add .

将所有有变更的文件添加到暂存区

git commit -a

提交所有本地修改

git commit -m "xxx"

把已添加至暂存区的文件执行提交,并以 xxx 作为本次提交的描述

git commit --amend -m "xxx"

修改上一次提交(请勿用该命令修改已发布的提交)

git commit -am "xxx"

该命令是 git add . 和 git commit -m "xxx" 的快捷方式

git stash

暂存当前修改,将所有置为 HEAD 状态

git stash list

查看所有暂存列表

git stash push

把当前工作区的文件暂存到临时空间

git stash pop

把文件从临时空间中恢复到当前工作区

提交历史 Commit History

Git 指令命令说明

git log

查看提交日志

git log -n

显示 n 行日志,n 为整数

git log --stat

查看本地提交日志

git show <commit>

查看提交日志及相关变动文件

git show HEAD

查看 HEAD 提交日志

git show HEAD^

查看 HEAD 的上一个版本提交日志。另外,git show HEAD^^ 是查看上 2 个版本的提交日志;git show HEAD^5 是查看上 5 个版本的提交日志

git blame <file>

对于指定文件,逐行显示提交的哈希ID、提交者、提交日期以及修改的内容

git whatchanged

显示提交历史,以及每次提交变更的文件

分支和标签 Branches & Tags

Git 指令命令说明

git branch

查看本地分支

git branch -r

查看远程分支

git branch -a

查看所有分支(本地和远程)

git branch --merged

查看所有分支已合并到当前分支的分支

git branch --no-merged

查看所有分支未合并到当前分支的分支

git branch -m <new-branch>

把当前分支的名称改成 new-branch;如果 new-branch 已存在,将不会执行改名

git branch -M <new-branch>

强制把当前分支的名称改成 new-branch(即使 new-branch 已存在)

git branch -m <old-branch> <new-branch>

把分支 old-branch 的名称改成 new-branch,如果 new-branch 已存在,将不会执行改名

git branch -M <old-branch> <new-branch>

强制把分支 old-branch 的名称改成 new-branch(即使 new-branch 已存在)

git checkout <branch-name>

切换到 branch-name 分支

git branch <new-branch>

新建分支(也可以用 git checkout -b <new-branch>)

git branch --track <new> <remote>

基于远程分支创建一个新分支,同 git checkout --track <remote/branch>

git branch -d <branch-name>

删除本地分支

git tag

列出所有本地标签

git tag <tag-name>

基于最新的提交创建标签

git tag -d <tag-name>

删除标签

删除命令 Remove

Git 指令命令说明

git rm <file>

删除文件(将从磁盘中删除文件)

git rm -r <directory>

递归删除指定目录下的文件

git rm --cached <file>

停止跟踪文件,不会从磁盘中删除

合并和衍合 Merge & Rebase

Git 指令命令说明

git merge <branch>

合并指定分支到当前分支,保留两个

git rebase <branch>

合并指定分支到当前分支,只保留一个

git rebase --abort

终止 rebase 操作,即回到执行 rebase 之前的状态

git rebase --continue

解决冲突后继续执行 rebase

git mergetool

使用配置文件指定的 mergetool 解决冲突

git add <resolved-file> git rm <resolved-file>

使用编辑器手动解决文件冲突,并在冲突解决后,把文件标记为 resolved

撤销命令 Undo

Git 指令命令说明

git reset --hard HEAD

将当前版本重置为 HEAD(用于 merge 失败的时候)

git reset <commit>

将当前版本重置为某一个提交状态,代码不变

git reset --hard <commit>

强制将当前版本重置为某一个提交状态,并丢弃那个状态之后的所有修改(请谨慎使用该命令)

git reset --merge <commit>

将当前版本重置为某一个提交状态,并保留版本库中不同的文件

git reset --keep <commit>

将当前版本重置为某一个提交状态,并保留未提交的本地修改

git revert <commit>

撤销提交

git restore <file>

丢弃指定文件的修改信息,即恢复到文件修改前的状态

git checkout -- <file>

git restore <file> 命令

git checkout HEAD <file>

对于指定文件,丢弃该文件的本地修改信息

git clean

清除工作目录中未跟踪的文件

配置命令 Git Configuration

Git 指令命令说明

git clean -n

列出哪些文件将从工作目录中删除

git config --list

列出当前 Git 配置

git config --global user.name <name>

把参数 name 设置为当前用户使用的提交者的姓名;如果未指定 name 参数,则显示当前用户使用的提交者姓名

git config --global user.email <email>

把参数 email 设置为当前用户使用的提交者的邮箱;如果未指定 email 参数,则显示当前用户使用的提交者邮箱

git config --global alias.<alias> <command>

为 Git 命令创建全局的别名。比如,执行 alias.glog log --graph --oneline --decorate 命令后,git glog 就相当于 git log --graph --oneline --decorate。

git config --system core.editor <editor>

对于本机的所有用户,设置命令使用的编辑器(比如 vim)

git config --global --edit

在编辑器中打开全局配置文件(用于手动修改)

git config --global color.ui auto

使用不同的颜色渲染 Git 命令的输出结果

其他命令 Other

Git 指令命令说明

git var -l

列出 Git 环境变量

git help <command>

显示指定命令的帮助(将呼出该命令的 man 文件)

相关术语

下面列出了 Git 常见的术语,通过这些术语,可以更好地了解 Git 版本控制系统。

  • git:一个开源的、分布式的版本控制系统
  • commit:提交,指一个 Git 对象,该对象是整个仓库以 SHA 表示的快照
  • branch:分支,一个轻量的、可移动的指向一个 commit 的指针
  • clone:克隆,指在本地创建一份远程仓库的副本
  • remote:远程仓库,是指托管在 GitHub、GitLab 等地方的公共(或私有)仓库,团队所有成员均可向该仓库提交修改
  • fork:创建一个其他用户的仓库的副本
  • pull request:简称 PR,指针对某个仓库,请求别人拉取并合并你的修改。通常,发起 pull request 的人都是从被请求人那里 clone 代码
  • HEAD:表示当前工作区,使用 git checkout命令,可以把 HEAD 指针切换到不同的分支、标签和 commit 上

http://www.ppmy.cn/embedded/141295.html

相关文章

小米C++ 面试题及参考答案下(120道面试题覆盖各种类型八股文)

指针和引用的区别?怎么实现的? 指针和引用有以下一些主要区别。 从概念上来说,指针是一个变量,它存储的是另一个变量的地址。可以通过指针来间接访问所指向的变量。例如,我们定义一个整型指针int *p;,它可以指向一个整型变量的内存地址。而引用是一个别名,它必须在定义的…

[241127] Mistral AI 更新 Le Chat,免费提供前沿 AI 助手!| TrendForce 预测 2025 十大科技趋势

目录 Mistral AI 更新 Le Chat&#xff0c;免费提供前沿 AI 助手&#xff01;TrendForce 预测 2025 十大科技趋势 Mistral AI 更新 Le Chat&#xff0c;免费提供前沿 AI 助手&#xff01; Mistral AI 宣布对其免费 AI 助手 Le Chat 进行重大更新&#xff0c;新增多项强大功能&…

IPVS与Keepalived

Keepalived VRRP虚拟路由冗余协议 虚拟路由冗余协议(Virtual Router Redundancy Protocol&#xff0c;简称VRRP)是由IETF提出的解决局域网中配置静态网关出现单点失效现象的路由协议&#xff0c;1998年已推出正式的RFC2338协议标准。VRRP广泛应用在边缘网络中&#xff0c;它的…

Flink 任务启动脚本-V2(包括ck启动)

#!/bin/bash#crontab时设置&#xff0c;如果依赖其他环境变量配置&#xff0c;可以在脚本执行一下环境变量脚本 source /etc/profile# 进入脚本目录 curdirdirname "$0" curdircd "$curdir"; pwd echo "进入启动脚本目录 $curdir"# 定义应用程序…

【探寻密码的奥秘】-001:解开密码的神秘面纱

目录 1、密码学概述1.1、概念1.2、目的1.3、应用场景 2、密码学的历史2.1、第一时期&#xff1a;古代密码时代2.2、第二时期&#xff1a;机械密码时代2.3、第三时期&#xff1a;信息密码时代2.4、第四时期&#xff1a;现代密码时代 3、密码学的基本概念3.1、一般通信系统3.2、保…

应急响应靶机——Windows近源攻击

载入虚拟机&#xff0c;开启虚拟机&#xff0c;点击“解题.exe”&#xff1a; &#xff08;账户密码&#xff1a;Administrator/zgsf2024&#xff09; 1、攻击者的外网IP地址 2、攻击者的内网跳板IP地址 3、攻击者使用的限速软件的md5大写 4、攻击者的后门md5大写 5、攻击…

海信Java后端开发面试题及参考答案

TCP 的优点是什么? TCP(Transmission Control Protocol,传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议,它具有众多优点。 首先,TCP 提供可靠的传输服务。它通过序列号、确认应答、重传机制等确保数据的准确无误传输。例如,在发送数据时,发送方会…

C# 中使用 AutoMapper 进行对象映射的实用步骤

在C#中&#xff0c;AutoMapper 是一个功能强大的对象-对象映射器&#xff0c;它能够在不同类型的对象之间自动进行属性值的复制。这在层与层之间的数据传输对象&#xff08;DTOs&#xff09;和实体&#xff08;Entities&#xff09;之间的转换中特别有用。以下是如何在 C# 中使…