Git常用命令摘要

写这篇博文的目的只是简单的给自己及团队的日常工作中需要用到的git命令作个汇总,这样平时只需要查阅这篇文章就够了,不用到处查找。如果能给有需要的朋友一点点的帮助,那也算是意外之喜吧。

一、基础配置

# 设置用户名和邮箱(首次使用必配)
git config --global user.name "Your Name"
git config --global user.email "your@email.com"

# 查看配置列表
git config --list

二、仓库操作

# 初始化新仓库
git init

# 克隆远程仓库
git clone <repo_url>

# 查看仓库状态
git status

三、代码提交

# 添加文件到暂存区
git add <file>  # 单个文件
git add .       # 所有修改

# 提交到本地仓库
git commit -m "commit message"

# 修改最后一次提交
git commit --amend

# 撤销未提交的修改(保留文件)
git restore --staged <file>  # 从暂存区撤出
git restore <file>           # 丢弃工作区修改

# 撤销最近一次提交(保留修改)
git reset --soft HEAD~1

# 撤销远程提交(强制推送覆盖)
git push -f origin <branch>
 

四、分支管理

# 查看分支
git branch     # 本地分支
git branch -a  # 所有分支

# 创建/切换分支
git checkout -b <new_branch>

# 合并分支
git merge <branch_name>

# 删除分支
git branch -d <branch_name>

# 对比两个分支差异
git diff branch1..branch2

# 对比本地与远程
git diff @{upstream}

# 图形化对比工具
git difftool -t vscode  # 使用VSCode对比
 

五、远程协作

# 关联远程仓库
git remote add origin <url>

# 推送到远程
git push -u origin <branch>

# 拉取更新
git pull origin <branch>

# 查看远程库信息
git remote -v

六、版本控制

# 查看提交历史
git log --oneline --graph

git reflog show # 查看操作历史

# 回退版本
git reset --hard <commit_id>

# 暂存当前修改
git stash
git stash pop

七、实用技巧

# 查看文件修改差异
git diff

# 撤销工作区修改
git checkout -- <file>

# 重命名文件
git mv <old> <new>

八、协作场景解决方案

# 同步上游仓库更新
git remote add upstream <original-repo-url>
git fetch upstream
git merge upstream/main

# 解决冲突后继续变基
git rebase --continue

# 提交PR前清理历史
git rebase -i origin/main
 

 九、建立远程仓库

以Gitee平台为例。

一)、前期准备

  1. 注册平台账号

    • Gitee
    • 完成邮箱验证(必需步骤)
  2. 配置本地Git身份

  3. 生成SSH密钥(免密推送必备)

 

 ‌二)、创建远程仓库(以Gitee为例)

  1. 网页端操作

    • 点击「+」→「新建仓库」
    • 填写仓库名(如 project-demo
    • 选择公开/私有 → 勾选「使用Readme初始化」→ 创建
  2. 获取仓库地址

    • HTTPS:https://gitee.com/yourname/project-demo.git
    • SSH:git@gitee.com:yourname/project-demo.git(推荐)

三)、关联本地仓库

▶ 场景1:已有本地项目
# 进入项目目录
cd existing-project# 初始化本地仓库
git init# 关联远程仓库
git remote add origin git@gitee.com:yourname/project-demo.git# 首次推送(-u 设置上游分支)
git push -u origin master     # 或 main 分支
▶ 场景2:全新项目
# 克隆远程仓库到本地
git clone git@gitee.com:yourname/project-demo.git# 进入目录添加文件
cd project-demo
touch new-file.txt# 提交并推送
git add .
git commit -m "Add new file"
git push origin master

 十、.gitignore文件配置

 

 一)、.gitignore核心语法手册

1. 基础匹配规则
  • #:注释行(例:# 忽略临时文件

  • /前缀:仅匹配根目录(例:/debug.log不匹配src/debug.log

  • *通配符:跨文件名匹配(例:*.tmp匹配所有.tmp后缀文件)

2. 高级路径控制
  • **/:递归匹配任意子目录(例:**/cache/忽略所有cache目录)

  • !取反:强制跟踪例外文件(例:!important.log突破*.log限制)

3. 字符集匹配
  • [abc]:匹配指定字符(例:test[123].txt匹配test1.txt但排除test4.txt)

  • ?:匹配单个字符(例:file?.js匹配fileA.js不匹配file10.js)

4. 删除已跟踪文件

git rm --cached <file>

# 从Git历史彻底删除误提交文件
git filter-branch --force --index-filter \"git rm --cached --ignore-unmatch sensitive.txt" \--prune-empty --tag-name-filter cat -- --all
5.强制添加被忽略文件

git add -f secret.cfg

 合理配置.gitignore可降低90%的仓库冗余,结合git sparse-checkout还能实现部分克隆。建议定期审计忽略规则,将其纳入项目脚手架标准化管理。

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

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

相关文章

ubuntu 22.04 安装部署kibana 7.10.0详细教程

安装部署kibana 7.10.0详细教程 下载并安装二、修改kibana.yml文件三、性能配置四、启动服务验证五、安装启动常见问题 【背景】 整个elk安装是基于ubuntu 22.04和jdk 11环境。kibana均采用 *.deb方式安装&#xff0c;需要服务器能联网。ubuntu 22.04 安装部署elk(elasticsearc…

nfs 服务器的搭建

nfs 服务器的搭建 1.配置yum源 mkdir /etc/yum.repos.d/bak mv /etc/yum.repo.d/*.repo /etc/yum.repos.d/bak/ curl -o /etc/yum.repos.d/centos.repo http://10.26.210.101/centos/centos.repo # 外网 curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.c…

Yii2 基础版实现 Token 认证 API 服务的完整框架方案

以下是一个基于 Yii2 基础版实现 Token 认证 API 服务的完整框架方案&#xff0c;包含 JWT 实现和完整代码&#xff1a; 1. 环境准备 composer create-project --prefer-dist yiisoft/yii2-app-basic yii2-api cd yii2-api2. 安装必要扩展 composer require firebase/php-jw…

主流版本控制工具Git vs Perforce P4:架构模式、性能、大文件管理及分支管理对比详解

Git和Perforce P4是两个强大的源代码管理工具&#xff0c;各有其独特的功能优势与适用场景。 本文中&#xff0c;Perforce中国授权合作伙伴-龙智将从架构设计、性能表现、文件管理及分支策略等维度&#xff0c;为您详细解析两者的关键差异&#xff0c;帮助您根据团队需求&…

文件系统2(Linux下)

1 挂载分区 文件系统1中已经知道了能够根据inode号在指定分区找文件了&#xff0c;也已经能根据目录文件内容&#xff0c;找指定的inode了&#xff0c;在指定的分区内&#xff0c;就可以对文件进行操作了。但是还有几个问题&#xff0c;那就是inode是不能跨分区的&#xff0c;…

Leetcode-​2537. 统计好子数组的数目​

Problem: 2537. 统计好子数组的数目 思路 滑动窗口 解题过程 思路&#xff1a; 使用滑动窗口来维护子数组&#xff0c;并通过组合计数动态调整满足条件的数对数目。具体来说&#xff0c;我们维护一个窗口[l,r]&#xff0c;使得窗口内相同元素的对数至少为 k&#xff0c;并计算…

js手写代码篇--手写Object.assign

19、Object.assign 作用&#xff1a; Object.assign的作用是将源对象的所有可枚举属性复制到目标对象中。它返回目标对象。 const obj1 { a: 1, b: 2 };const obj2 { b: 3, c: 4 };const obj3 { d: 5 };const target {};Object.assign(target, obj1, obj2, obj3);console…

使用 C/C++ 和 OpenCV 构建智能停车场视觉管理系统

使用 C 和 OpenCV 构建智能停车场视觉管理系统 本文将详细介绍如何利用 C 和 OpenCV 库&#xff0c;从零开始创建一个智能停车场管理系统。该系统通过摄像头捕捉的画面&#xff0c;能自动完成两项核心任务&#xff1a; 车位识别&#xff1a;通过检测地面上的黄色停车线&#…

服务器静态ip,网关不能占用*.*.*.1

网关不能占用*.*.*.1.1 通常用于运行关键服务&#xff08;如DHCP、NAT、DNS代理&#xff09;&#xff0c;.1 是网络世界的"VIP包厢"&#xff0c;普通用户强闯只会被"请出"。

自然语言处理【NLP】—— CBOW模型

文章目录 引言一、CBOW模型概述1.1 什么是CBOW模型1.2 CBOW vs Skip-gram 二、CBOW模型原理详解2.1 模型架构2.2 数学原理2.3 训练过程 三、CBOW的PyTorch实现四、CBOW模型的应用与优化4.1 典型应用场景4.2 性能优化技巧 五、CBOW的局限性六、结语 引言 在自然语言处理(NLP)领…

为MTK 9300开发板移植Linux系统(以Debian为例)的详细技术指南

以下是为MTK 9300开发板移植Linux系统(以Debian为例)的详细技术指南,涵盖环境搭建、内核移植、驱动适配(摄像头/显示器/WiFi)、系统集成与优化。 MTK 9300开发板Linux系统移植全流程指南 1 项目概述 1.1 硬件平台 SoC:MediaTek MTK9300 (ARMv8-A架构,4Cortex-A78 + 4C…

Java Lambda 表达式与 Stream API 全解析:从基础到进阶

以下是对您博客内容的优化版本&#xff0c;在保留原有核心内容的基础上&#xff0c;补充了Lambda表达式及Stream API的完整方法体系&#xff0c;并通过结构化排版和扩展说明提升可读性。 Java Lambda表达式与Stream API全解析&#xff1a;从基础到进阶 一、Lambda表达式与Str…

Let’s Encrypt(乐此加密) 免费SSL证书申请

一、前言 腾讯云、阿里云等平台都支持免费的SSL证书申请&#xff0c;但只支持单域名SSL证书申请&#xff0c;不支持泛域名证书申请&#xff0c;而且每年只有20张免费证书额度&#xff0c;自2024年4月25日之起免费申请的证书只有3个月有效期。域名比较多的情况下&#xff0c;更新…

SQLite3 性能优化

在嵌入式开发和轻量级应用场景中&#xff0c;SQLite3 作为轻量级数据库引擎&#xff0c;凭借其无需独立服务器、部署便捷等特点被广泛应用。然而&#xff0c;当面对大量数据的高速读写需求时&#xff0c;默认配置下的 SQLite3 性能往往难以满足要求。本文将从数据库配置调整、W…

零基础设计模式——行为型模式 - 状态模式

第四部分&#xff1a;行为型模式 - 状态模式 (State Pattern) 我们继续学习行为型模式&#xff0c;接下来是状态模式。这个模式允许一个对象在其内部状态改变时改变它的行为&#xff0c;对象看起来就像是改变了它的类。 核心思想&#xff1a;允许一个对象在其内部状态改变时改…

面向对象面试题集合

前言 记录面向对象面试题相关内容&#xff0c;方便复习及查漏补缺 题1.简述面向对象&#xff1f;主要特征是什么&#xff1f; 面向对象编程&#xff08;Object-Oriented Programming&#xff0c;简称OOP&#xff09;是一种以“对象”为核心的编程范式&#xff0c;通过将现实…

二十一、【用户管理与权限 - 篇三】角色管理:前端角色列表与 CRUD 实现

【用户管理与权限 - 篇三】角色管理:前端角色列表与 CRUD 实现 前言准备工作第一部分:更新 API 服务以包含角色管理第二部分:添加角色管理页面的路由和侧边栏入口第三部分:实现角色列表页面第四部分:实现角色表单对话框组件第五部分:全面测试总结前言 一个完善的权限系统…

Objective-c protocol 练习

题目描述&#xff1a; 请使用 Objective-C 中的 protocol 协议机制&#xff0c;实现一个简易的门禁控制系统。 系统包含两个类&#xff1a; AccessControlSystem —— 门禁系统&#xff0c;用于执行开门操作&#xff1b;Admin —— 实现权限判断逻辑的管理员。 要求如下&am…

科技创新赋能产业创新,双轮驱动助力新疆高质量发展!

在新疆维吾尔自治区成立70周年之际&#xff0c;中国产学研合作促进会于6月14日在乌鲁木齐举办“天山对话&#xff1a;推动新疆科技创新与产业创新”盛会。多位院士、专家、学者及企业代表齐聚一堂&#xff0c;探寻推动新疆科技创新和产业创新的新路径、新动能。活动现场&#x…

C#最佳实践:推荐使用 nameof 而非硬编码名称

C#最佳实践:推荐使用 nameof 而非硬编码名称 在 C# 编程领域,代码的可维护性、健壮性和可读性是衡量程序质量的重要指标。在日常开发中,我们常常会遇到需要引用类型、成员或变量名称的场景,比如在抛出异常时指定错误相关的变量名、在日志记录中标记关键元素名称等。传统的…