git相关操作


1. 初始化仓库

git init                            # 初始化一个新的 Git 仓库
git clone <repository_url>          # 克隆远程仓库到本地

2. 配置

git config --global user.name "Your Name"       # 设置全局用户名
git config --global user.email "your.email@example.com"  # 设置全局邮箱
git config --list                                # 查看当前配置

3. 基本操作

git status                        # 查看工作目录和暂存区的状态
git add <file>                    # 将文件添加到暂存区
git add .                         # 将所有修改的文件添加到暂存区
git commit -m "commit message"    # 提交暂存区的更改到本地仓库
git commit -a -m "commit message" # 跳过暂存区,直接提交所有已跟踪文件的更改

4. 分支操作

git branch                        # 列出所有本地分支
git branch <branch_name>          # 创建一个新分支
git checkout <branch_name>        # 切换到指定分支
git checkout -b <branch_name>     # 创建并切换到新分支
git merge <branch_name>           # 将指定分支合并到当前分支
git branch -d <branch_name>       # 删除指定分支
git branch -m <new_branch_name>   # 重命名当前分支

5. 远程操作

git remote -v                     # 查看远程仓库信息
git remote add <name> <url>       # 添加一个新的远程仓库
git fetch <remote>                # 从远程仓库获取更新,但不合并
git pull <remote> <branch>        # 从远程仓库拉取更新并合并到当前分支
git push <remote> <branch>        # 将本地分支推送到远程仓库
git push -u <remote> <branch>     # 推送并设置上游分支

6. 撤销操作

git checkout -- <file>            # 撤销工作目录中文件的修改
git reset HEAD <file>             # 将文件从暂存区移除
git reset --soft <commit>         # 撤销提交,但保留更改在暂存区
git reset --mixed <commit>        # 撤销提交,并将更改保留在工作目录
git reset --hard <commit>         # 撤销提交并丢弃所有更改
git revert <commit>               # 创建一个新的提交来撤销指定提交的更改

7. 查看历史

git log                           # 查看提交历史
git log --oneline                 # 查看简洁的提交历史
git log --graph                   # 查看带有分支图的提交历史
git show <commit>                 # 查看指定提交的详细信息
git diff                          # 查看工作目录和暂存区的差异
git diff --cached                 # 查看暂存区和最后一次提交的差异
git diff <commit1> <commit2>      # 查看两个提交之间的差异

8. 标签操作

git tag                           # 列出所有标签
git tag <tag_name>                # 在当前提交上创建一个轻量标签
git tag -a <tag_name> -m "tag message"  # 创建一个带注释的标签
git push <remote> <tag_name>      # 推送标签到远程仓库
git push <remote> --tags          # 推送所有标签到远程仓库
git tag -d <tag_name>             # 删除本地标签
git push <remote> --delete <tag_name>  # 删除远程标签

9. 暂存和恢复

git stash                         # 将当前工作目录的修改暂存起来
git stash list                    # 列出所有暂存的修改
git stash apply                   # 恢复最近一次暂存的修改
git stash drop                    # 删除最近一次暂存的修改
git stash pop                     # 恢复并删除最近一次暂存的修改
git stash clear                   # 删除所有暂存的修改

10. 其他操作

git rebase <branch>               # 将当前分支的提交变基到指定分支上
git cherry-pick <commit>          # 将指定提交应用到当前分支
git bisect                        # 使用二分查找来定位引入 bug 的提交
git clean -n                      # 显示将要删除的未跟踪文件
git clean -f                      # 删除未跟踪的文件

11. 子模块

git submodule add <repository_url>  # 添加一个子模块
git submodule update --init --recursive  # 初始化并更新子模块

12. 忽略文件

# 在项目根目录创建 .gitignore 文件,列出需要忽略的文件和目录

13. 高级操作

git reflog                        # 查看引用日志,用于恢复丢失的提交或分支
git filter-branch                 # 重写提交历史(谨慎使用)
git gc                            # 清理不必要的文件并优化本地仓库

14. 协作与工作流

git fetch --prune                 # 删除远程已删除分支的本地引用
git pull --rebase                 # 拉取远程更新并使用 rebase 合并
git push --force-with-lease       # 强制推送,但避免覆盖他人工作

15. 查看 Git 版本

git --version

16. 查看 Git 安装位置

# Linux/macOS
which git

# Windows
where git

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

sosadmin相关命令

sosadmin命令 以下是本人翻译的官方文档&#xff0c;如有不对&#xff0c;还请指出&#xff0c;引用请标明出处。 原本有个对应表可以跳转的&#xff0c;但是CSDN的这个[](#)跳转好像不太一样&#xff0c;必须得用html标签&#xff0c;就懒得改了。 sosadmin help 用法 sosadm…

人工智能提高安全性的8种方法

人工智能提高安全性的8种方法 人工智能&#xff08;AI&#xff09;通过增强威胁检测、简化响应和加强各个领域的防御&#xff0c;正在彻底改变网络安全。根据HPE的见解&#xff0c;以下是基于AI改善安全性的八种关键方式。 ​ ​ 高级威胁检测和实时监控&#xff1a; 人工智能…

Android SDK下载安装(图文详解)

安装完sdk&#xff0c;就可以直接使用adb命令了&#xff0c;我们做app自动化测试&#xff0c;也需要sdk环境的依赖。 1. 下载Android SDK 网盘下载地址&#xff1a;https://pan.quark.cn/s/8398e52cefc9 官网下载地址&#xff1a;https://www.androiddevtools.cn/ &#xff08;…

25/1/13 嵌入式笔记 继续学习Esp32

PWM&#xff08;Pulse Width Modulation&#xff0c;脉宽调制&#xff09; 是一种通过快速切换高低电平来模拟中间电压值的技术。它广泛应用于控制 LED 亮度、电机速度、音频生成等场景。 analogWrite函数:用于在微控制器&#xff08;如 Arduino&#xff09;上生成模拟信号。 …

uniapp区域滚动——上划进行分页加载数据(详细教程)

##标题 用来总结和学习&#xff0c;便于自己查找 文章目录 一、为什么scroll-view?          1.1 区域滚动页面滚动&#xff1f;          1.2 代码&#xff1f; 二、分页功能&#xff1f;          2.1 如何实现&#xff…

【Git版本控制器--1】Git的基本操作--本地仓库

目录 初识git 本地仓库 认识工作区、暂存区、版本库 add操作与commit操作 master文件与commit id 修改文件 版本回退 撤销修改 删除文件 初识git Git 是一个分布式版本控制系统&#xff0c;主要用于跟踪文件的更改&#xff0c;特别是在软件开发中。 为什么要版本…

【STM32-学习笔记-7-】USART串口通信

文章目录 USART串口通信Ⅰ、硬件电路Ⅱ、常见的电平标准Ⅲ、串口参数及时序Ⅳ、STM32的USART简介数据帧起始位侦测数据采样波特率发生器 Ⅴ、USART函数介绍Ⅵ、USART_InitTypeDef结构体参数1、USART_BaudRate2、USART_WordLength3、USART_StopBits4、USART_Parity5、USART_Mode…

Spring MVC简单数据绑定

【图书介绍】《SpringSpring MVCMyBatis从零开始学&#xff08;视频教学版&#xff09;&#xff08;第3版&#xff09;》_springspringmvcmybatis从零开始 代码、课件、教学视频与相关软件包下载-CSDN博客 《SpringSpring MVCMyBatis从零开始学(视频教学版)&#xff08;第3版&…

初识JVM HotSopt 的发展历程

目录 导学 目前企业对程序员的基本要求 面向的对象 实战 学习目标 JVM 是什么 JVM 的三大核心功能 各大 JVM look 看一下虚拟机 HotSopt 的发展历程 总结 导学 目前企业对程序员的基本要求 面向的对象 实战 学习目标 JVM 是什么 JVM 的三大核心功能 即时编译 主要是…

【pytorch】注意力机制-1

1 注意力提示 1.1 自主性的与非自主性的注意力提示 非自主性提示&#xff1a; 可以简单地使用参数化的全连接层&#xff0c;甚至是非参数化的最大汇聚层或平均汇聚层。 自主性提示 注意力机制与全连接层或汇聚层区别开来。在注意力机制的背景下&#xff0c;自主性提示被称为查…

大数据技术Kafka详解 ⑤ | Kafka中的CAP机制

目录 1、分布式系统当中的CAP理论 1.1、CAP理论 1.2、Partitiontolerance 1.3、Consistency 1.4、Availability 2、Kafka中的CAP机制 C软件异常排查从入门到精通系列教程&#xff08;核心精品专栏&#xff0c;订阅量已达600多个&#xff0c;欢迎订阅&#xff0c;持续更新…

ESP-IDF学习记录(5) 画一块esp32-c3 PCB板

最近看了半个多月&#xff0c;趁着嘉立创官方活动&#xff0c;研究esp32-c3规格书&#xff0c;白嫖PCB 和元器件。原本计划按照官方推荐的搞个四层板&#xff0c;结果打样太贵&#xff0c;火速改成双层板&#xff0c;用了官方的券。小于10*10,也可以使用嘉立创的免费打样。 下面…

nginx 实现 正向代理、反向代理 、SSL(证书配置)、负载均衡 、虚拟域名 ,使用其他中间件监控

我们可以详细地配置 Nginx 来实现正向代理、反向代理、SSL、负载均衡和虚拟域名。同时&#xff0c;我会介绍如何使用一些中间件来监控 Nginx 的状态和性能。 1. 安装 Nginx 如果你还没有安装 Nginx&#xff0c;可以通过以下命令进行安装&#xff08;以 Ubuntu 为例&#xff0…

Netty 入门学习

前言 学习Spark源码绕不开通信&#xff0c;Spark通信是基于Netty实现的&#xff0c;所以先简单学习总结一下Netty。 Spark 通信历史 最开始: Akka Spark 1.3&#xff1a; 开始引入Netty&#xff0c;为了解决大块数据&#xff08;如Shuffle&#xff09;的传输问题 Spark 1.6&…

鸿蒙报错Init keystore failed: keystore password was incorrect

报错如下&#xff1a; > hvigor ERROR: Failed :entry:defaultSignHap... > hvigor ERROR: Tools execution failed. 01-13 16:35:55 ERROR - hap-sign-tool: error: Init keystore failed: keystore password was incorrect * Try the following: > The key stor…

IDEA的Git界面(ALT+9)log选项不显示问题小记

IDEA的Git界面ALT9 log选项不显示问题 当前问题idea中log界面什么都不显示其他选项界面正常通过命令查询git日志正常 预期效果解决办法1. 检查 IDEA 的 Git 设置2. 刷新 Git Log (什么都没有大概率是刷新不了)3. 检查分支和日志是否存在4. 清理 IDEA 缓存 (我用这个成功解决)✅…

ffmpeg硬件编码

使用FFmpeg进行硬件编码可以显著提高视频编码的性能&#xff0c;尤其是在处理高分辨率视频时。硬件编码利用GPU或其他专用硬件&#xff08;如Intel QSV、NVIDIA NVENC、AMD AMF等&#xff09;来加速编码过程。以下是使用FFmpeg进行硬件编码的详细说明和示例代码。 1. 硬件编码支…

65.在 Vue 3 中使用 OpenLayers 绘制带有箭头的线条

前言 在现代的前端开发中&#xff0c;地图已经成为许多项目的核心功能之一。OpenLayers 是一个强大的开源地图库&#xff0c;它提供了丰富的功能和高度的定制化支持。在本篇文章中&#xff0c;我将向大家展示如何在 Vue 3 中使用 OpenLayers 绘制带有箭头的线条。 我们将实现…

C++内存泄露排查

内存泄漏是指程序动态分配的内存未能及时释放&#xff0c;导致系统内存逐渐耗尽&#xff0c;最终可能造成程序崩溃或性能下降。在C中&#xff0c;内存泄漏通常发生在使用new或malloc等分配内存的操作时&#xff0c;但没有正确地使用delete或free来释放这块内存。 在日常开发过程…

Ubuntu上,ffmpeg如何使用cuda硬件解码、编码、转码加速

本文使用 Ubuntu 环境。Ubuntu 直接使用 APT 安装的就支持 CUDA 加速。本文使用这样下载的版本进行演示&#xff0c;你自己编译或者其他源的版本可能会不同。 ffmpeg 的一些介绍&#xff0c;以及 macOS 版本的 ffmpeg 硬件加速请见《macOS上如何安装&#xff08;不需要编译安装…