git相关操作

news2025/1/15 16:10:04

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.coloradmin.cn/o/2277087.html

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

相关文章

qt vs ios开发应用环境搭建和上架商店的记录

qt 下载链接如下 https://download.qt.io/new_archive/qt/5.14/5.14.2/qt-opensource-mac-x64-5.14.2.dmg 安装选项全勾选就行&#xff0c;这里特别说明下qt5.14.2/qml qt5.14.2对qml支持还算成熟&#xff0c;但很多特性还得qt6才行&#xff0c;这里用qt5.14.2主要是考虑到服…

系统思考—全局思维

在一个复杂的企业中&#xff0c;无论是生产、营销、研发、产品还是采购&#xff0c;作为核心团队&#xff0c;大家不只关注单一的问题——需要从整体出发。企业是一个有机的整体&#xff0c;每一个环节都息息相关。如果只解决一个问题&#xff0c;却忽视了其他部分的相互作用&a…

软件设计师 - 第10章 网络与信息安全基础知识

网络概述 功能:数据通信,资源共享,管理集中化,实现分布式处理,负载均衡 分类:局域网,城域网,广域网 拓扑结构:总线型,星型,环型,树型,分布式 ISO/OSI七层模型: 应用层:提供与用户交互的界面,并支持特定应用程序的服务,FTP、Telnet、SMTP、NFS、SNMP、HTTP、…

记录一次Android Studio的下载、安装、配置

目录 一、下载和安装 Android Studio 1、搜索下载Android studio ​2、下载成功后点击安装包进行安装&#xff1a; 3、这里不用打勾&#xff0c;直接点击安装 &#xff1a; 4、完成安装&#xff1a; 5、这里点击Cancel就可以了 6、接下来 7、点击自定义安装&#xff1a…

自定义注解使用AspectJ切面和SpringBoot的Even事件优雅记录业务接口及第三方接口调用日志实现思路

自定义注解使用AspectJ切面和SpringBoot的Even事件优雅记录业务接口及第三方接口调用日志实现思路 文章目录 1.前言2.思路2.1使用ELK收集日志2.1.1ELK搭建2.1.2项目中集成ELK日志收集2.1.2.1 引入依赖2.1.2.2 logback-xxx.xml配置2.1.2.3 yaml配置 2.2本文思路2.2.1书接上文--自…

Windows 正确配置android adb调试的方法

下载适用于 Windows 的 SDK Platform-Tools https://developer.android.google.cn/tools/releases/platform-tools?hlzh-cn 设置系统变量&#xff0c;路径为platform-tools文件夹的绝对路径 点击Path添加环境变量 %adb%打开终端输入adb shell 这就成功了&#xff01;

保姆级图文详解:Linux和Docker常用终端命令

文章目录 前言1、Docker 常用命令1.1、镜像管理1.2、容器管理1.3、网络管理1.4、数据卷管理1.5、监控和性能管理 2、Linux 常用命令分类2.1、文件和目录管理2.2、用户管理2.3、系统监控和性能2.4、软件包管理2.5、网络管理 前言 亲爱的家人们&#xff0c;技术图文创作很不容易…

相机SD卡照片数据不小心全部删除了怎么办?有什么方法恢复吗?

前几天&#xff0c;小编在后台友收到网友反馈说他在整理相机里的SD卡&#xff0c;原本是想把那些记录着美好瞬间的照片导出来慢慢欣赏。结果手一抖&#xff0c;不小心点了“删除所有照片”&#xff0c;等他反应过来&#xff0c;屏幕上已经显示“删除成功”。那一刻&#xff0c;…

《C++11》nullptr介绍:从NULL说起

在C11之前&#xff0c;我们通常使用NULL来表示空指针。然而&#xff0c;NULL在C中有一些问题和限制&#xff0c;这就是C11引入nullptr的原因。本文将详细介绍nullptr的定义、用法和优点。 1. NULL的问题 在C中&#xff0c;NULL实际上是一个整数0&#xff0c;而不是一个真正的…

【搭建JavaEE】(2)Tomcat安装配置和第一个JavaEE程序

Tomcat–容器(Container) 下载 Apache Tomcat - Welcome! 下载完成 请求/响应 结构 测试 查看Jdk版本 改端口号localhost8080–>8099 学学人家以后牛逼了可以用自己名字当文件夹名 配置端口8099 找到server文件 用记事本打开 再打开另一个logging文件 ”乱码解决“步骤&…

​​​​​​​​​​​​​​★3.3 事件处理

★3.3.1 ※MouseArea Item <-- MouseArea 属性 acceptedButtons : Qt::MouseButtons containsMouse : bool 【书】只读属性。表明当前鼠标光标是否在MouseArea上&#xff0c;默认只有鼠标的一个按钮处于按下状态时才可以被检测到。 containsPress : bool curs…

【C】初阶数据结构3 -- 单链表

之前在顺序表那一篇文章中&#xff0c;提到顺序表具有的缺点&#xff0c;比如头插&#xff0c;头删时间复杂度为O(n)&#xff0c;realloc增容有消耗等。而在链表中&#xff0c;这些问题将得到解决。所以在这一篇文章里&#xff0c;我们将会讲解链表的定义与性质&#xff0c;以及…

Python----Python高级(函数基础,形参和实参,参数传递,全局变量和局部变量,匿名函数,递归函数,eval()函数,LEGB规则)

一、函数基础 1.1、函数的用法和底层分析 函数是可重用的程序代码块。 函数的作用&#xff0c;不仅可以实现代码的复用&#xff0c;更能实现代码的一致性。一致性指的是&#xff0c;只要修改函数的代码&#xff0c;则所有调用该函数的地方都能得到体现。 在编写函数时&#xf…

《leetcode-runner》如何手搓一个debug调试器——架构

本文主要聚焦leetcode-runner对于debug功能的整体设计&#xff0c;并讲述设计原因以及存在的难点 设计引入 让我们来思考一下&#xff0c;一个最简单的调试器需要哪些内容 首先&#xff0c;它能够接受用户的输入 其次&#xff0c;它能够读懂用户想让调试器干嘛&#xff0c;…

食堂采购系统源码:基于PHP的校园食堂供应链管理平台开发全解析

传统的食堂采购管理普遍存在信息不透明、流程繁琐、效率低下等问题&#xff0c;这使得开发一款高效、智能的食堂采购系统变得尤为重要。本篇文章&#xff0c;笔者将详细解析基于PHP开发的校园食堂供应链管理平台&#xff0c;从功能设计、系统架构到技术实现&#xff0c;全方位剖…

WEB 攻防-通用漏-XSS 跨站脚本攻击-反射型/存储型/DOMBEEF-XSS

XSS跨站脚本攻击技术&#xff08;一&#xff09; XSS的定义 XSS攻击&#xff0c;全称为跨站脚本攻击&#xff0c;是指攻击者通过在网页中插入恶意脚本代码&#xff0c;当用户浏览该网页时&#xff0c;恶意脚本会被执行&#xff0c;从而达到攻击目的的一种安全漏洞。这些恶意脚…

重生之我在21世纪学C++—函数与递归

一、函数是什么&#xff1f; 相信我们第一次接触函数是在学习数学的时候&#xff0c;比如&#xff1a;一次函数 y kx b &#xff0c;k 和 b 都是常数&#xff0c;给一个任意的 x &#xff0c;就会得到一个 y 值。 其实在 C 语言中就引入了函数&#xff08;function&#xf…

Mac——Cpolar内网穿透实战

摘要 本文介绍了在Mac系统上实现内网穿透的方法&#xff0c;通过打开远程登录、局域网内测试SSH远程连接&#xff0c;以及利用cpolar工具实现公网SSH远程连接MacOS的步骤。包括安装配置homebrew、安装cpolar服务、获取SSH隧道公网地址及测试公网连接等关键环节。 1. MacOS打开…

Ubuntu中双击自动运行shell脚本

方法1: 修改文件双击反应 参考: https://blog.csdn.net/miffywm/article/details/103382405 chmod x test.sh鼠标选中待执行文件&#xff0c;在窗口左上角edit菜单中选择preference设计双击执行快捷键&#xff0c;如下图&#xff1a; 方法2: 设置一个应用 参考: https://blo…

力扣 全排列

回溯经典例题。 题目 通过回溯生成所有可能的排列。每次递归时&#xff0c;选择一个数字&#xff0c;直到选满所有数字&#xff0c;然后记录当前排列&#xff0c;回到上层时移除最后选的数字并继续选择其他未选的数字。每次递归时&#xff0c;在 path 中添加一个新的数字&…