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

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

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

相关文章

计算机网络 (39)TCP的运输连接管理

前言 TCP&#xff08;传输控制协议&#xff09;是一种面向连接的、可靠的传输协议&#xff0c;它在计算机网络中扮演着至关重要的角色。TCP的运输连接管理涉及连接建立、数据传送和连接释放三个阶段。 一、TCP的连接建立 TCP的连接建立采用三次握手机制&#xff0c;其过程如下&…

机器学习(1):线性回归概念

1 线性回归基础 1.1 什么是线性 例如&#xff1a;汽车每小时60KM&#xff0c;3小时可以行使多长距离&#xff1f;已知汽车的速度&#xff0c;则汽车的行使距离只与时间唯一相关。在二元的直角坐标系中&#xff0c;描出这一关系的图是一条直线&#xff0c;所以称为线性关系。 线…

1,Linux环境变量基本定义(基于Ubuntu示例进行讲解)

linux环境变量的概念 Linux环境变量&#xff08;准确说应该是shell变量&#xff09;&#xff0c;是直接存储在操作系统中的一组键值对&#xff08;dict类型&#xff09;&#xff0c;用于配置系统和应用程序的操作行为。 【有经验的描述】&#xff1a;它们的工作原理很简单&am…

STM32入门教程-示例程序(按键控制LED光敏传感器控制蜂鸣器)

1. LED Blink&#xff08;闪烁&#xff09; 代码主体包含&#xff1a;LED.c key.c main.c delay.c&#xff08;延时防按键抖动&#xff09; 程序代码如下&#xff08;涉及RCC与GPIO两个外设&#xff09;&#xff1a; 1.使用RCC使能GPIO时钟 RCC_APB2PeriphClockC…

java springboot3.x jwt+spring security6.x实现用户登录认证

springboot3.x jwtspring security6.x实现用户登录认证 什么是JWT JWT&#xff08;JSON Web Token&#xff09;是一种开放标准&#xff08;RFC 7519&#xff09;&#xff0c;它用于在网络应用环境中传递声明。通常&#xff0c;JWT用于身份验证和信息交换。JWT的一个典型用法是…

基于Socket和ServerSocket自定义协议的实现多端通信、消息发送、群聊发送

通信基础 Socket Socket套接字是实现网络通信的重要接口&#xff0c;Socket绑定的应用进程&#xff0c;目标Ip的端口号&#xff0c;以及数据传输对应的输入输出缓冲区。一个数据包到达一台计算机物理设备后&#xff0c;经过网络协议栈的解析&#xff0c;然后由操作系统调度到对…

【Uniapp-Vue3】Prop校验与prop默认值用法及循环遍历数组对象

一、prop校验 如果我们在想要限制prop的类型&#xff0c;就可以在接收prop的时候对接收类型进行限制&#xff1a; defineProps({ 属性名:{ type:类型 } }) 需要注意类型的首字母大写 但是设置了传入参数类型限制并不能严格限制&#xff0c;只会在后台进行提示&#xff1a; 二、…

Java Stream流操作List全攻略:Filter、Sort、GroupBy、Average、Sum实践

在Java 8及更高版本中&#xff0c;Stream API为集合处理带来了革命性的改变。本文将深入解析如何运用Stream对List进行高效的操作&#xff0c;包括筛选&#xff08;Filter&#xff09;、排序&#xff08;Sort&#xff09;、分组&#xff08;GroupBy&#xff09;、求平均值&…

ExplaineR:集成K-means聚类算法的SHAP可解释性分析 | 可视化混淆矩阵、决策曲线、模型评估与各类SHAP图

集成K-means聚类算法的SHAP可解释性分析 加载数据集并训练机器学习模型 SHAP 分析以提取特征对预测的影响 通过混淆矩阵可视化模型性能 决策曲线分析 模型评估&#xff08;多指标和ROC曲线的目视检查&#xff09; 带注释阈值的 ROC 曲线 加载 SHAP 结果以进行下游分析 与…

【Python通过UDP协议传输视频数据】(界面识别)

提示&#xff1a;界面识别项目 前言 随着网络通信技术的发展&#xff0c;视频数据的实时传输在各种场景中得到了广泛应用。UDP&#xff08;User Datagram Protocol&#xff09;作为一种无连接的协议&#xff0c;凭借其低延迟、高效率的特性&#xff0c;在实时性要求较高的视频…

浅谈云计算03 | 云计算的技术支撑(云使能技术)

云计算的技术支撑 一、定义与内涵1.1 定义与内涵 二、云计算使能技术架构2.1 宽带网络和 Internet 架构2.2 数据中心技术2.3 虚拟化技术2.4 Web 技术2.5 多租户技术2.6 服务技术 一、定义与内涵 1.1 定义与内涵 云计算技术包含一些基础的关键技术&#xff0c;这里称为使能技术…

QGraphicsView QGraphicsScene QGraphicsItem

QGraphicsView && QGraphicsScene &#xff1a; QGraphicsView 是 Qt 中用于显示和交互处理 2D 图形的控件&#xff0c;QGraphicsView 用于显示 QGraphicsScene 中的内容。 .h #ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QMainWindow> #include &…

【大数据】机器学习-----线性模型

一、线性模型基本形式 线性模型旨在通过线性组合输入特征来预测输出。其一般形式为&#xff1a; 其中&#xff1a; x ( x 1 , x 2 , ⋯ , x d ) \mathbf{x}(x_1,x_2,\cdots,x_d) x(x1​,x2​,⋯,xd​) 是输入特征向量&#xff0c;包含 d d d 个特征。 w ( w 1 , w 2 , ⋯ ,…

基于千帆(ERNIE-Functions-8K)Function Calling的简单使用

1.Function Calling是什么&#xff1f; 1.1 概念 Function calling是一种将LLM(大语言模型Large language model)连接外部工具的能力&#xff0c;LLM经过微调后&#xff0c;可以检测出何时需要调用函数以及需要调用函数的方法名及参数&#xff0c;并返回给调用方以便调用外部…

Deep Attentional Guided Image Filtering

This work achieved the first place in the real depth map SR challenge held in ACM ICMR 2021. 目的&#xff1a;从一个target image(如低分辨的深度图)和guidance image(如高分辨的RGB图)&#xff0c;得到输出(如高分辨的深度图)。 主要思想是考虑了target和guidance之间的…

SpringBoot+Lombok项目实体属性名xXxx格式,前端接收不到

问题解析 今天发现后端传给前端的实体类中&#xff0c;有属性为xXxxx格式的&#xff0c;前端也使用相同名称接收&#xff0c;结果却不显示值&#xff01;研究了一会发现接口请求回来后&#xff0c;原xXxxx的属性名&#xff0c;会被转为全小写。具体原因为&#xff1a;使用Lombo…

高级运维:shell练习2

1、需求&#xff1a;判断192.168.1.0/24网络中&#xff0c;当前在线的ip有哪些&#xff0c;并编写脚本打印出来。 vim check.sh #!/bin/bash# 定义网络前缀 network_prefix"192.168.1"# 循环遍历1-254的IP for i in {1..254}; do# 构造完整的IP地址ip"$network_…

为深度学习创建PyTorch张量 - 最佳选项

为深度学习创建PyTorch张量 - 最佳选项 正如我们所看到的&#xff0c;PyTorch张量是torch.Tensor​ PyTorch类的实例。张量的抽象概念与PyTorch张量之间的区别在于&#xff0c;PyTorch张量为我们提供了一个可以在代码中操作的具体实现。 在上一篇文章中&#xff0c;我们看到了…

28.找出字符串中第一个匹配项的下标【力扣】KMP前缀表 ≈ find() 函数、暴力解法

class Solution { public: //得到前缀表void getNext(int *next,string needle){int j0;for(int i1;i<needle.size();i){while(j>0 && needle[j]!needle[i]) jnext[j-1];//**j>0**>j0是出口if(needle[i]needle[j]) j;next[i]j;//若写入if中&#xff0c;则该…

mysql 创建临时表报错

1. 问题描述 5.7.31 版本 mysql 数据库创建临时表报错 -- 报错语句 CREATE TEMPORARY TABLE temp_table_name SELECT * FROM table_name LIMIT 0;报错截图 [HY000][1005] Can’t create table ‘new_tbl’ (errno: 13) 2. 解决方案 步骤一&#xff1a; 查询 linux m…