git常用指令详解

news/2025/2/25 1:20:27

文章目录

  • Git 基本指令的使用
  • Git 远程仓库
  • Git的分支管理

Git 基本指令的使用

git init
//初始化一个git仓库,在当前目录下生成.git文件夹,并且会默认生成一个master分支。
git clone <url> [directory]
//url为git仓库地址,directory为本地目录
git clone git://github.com/schacon/grit.git
//执行完成之后会在当前目录下生成仓库,如果要指定目录下生成,则可以在后面加一个具体的位置路径
git config --global user.name '你的用户名'
git config --global user.email '你的邮箱'
//通过git config来配置用户名和邮箱地址,便于我们将代码提交到远程仓库
git status
//查看相关文件的状态
暂存文件的命令:git add <文件名>
放弃未暂存文件的修改命令:git checkout – <文件名>
将被修改的文件暂存并提交的命令:git commit -a
git diff
尚未缓存的改动:git diff
查看已缓存的改动: git diff --cached
查看已缓存的与未缓存的所有改动:git diff HEAD
显示摘要而非整个 diff:git diff --stat
git add 
//命令可将文件添加到缓存
git commit -m "第一次版本提交"
//git commit 将缓存区内容添加到仓库中,可以在后面加-m选项,以在命令行中提供提交注释
git commit -am "第一次版本提交"
//跳过add这一步,可以直接使用 -a选项
git checkout
//当修改文件后,还没有add提交到暂存区,也没有commit时放弃修改
git checkout 11.txt #放弃11.txt文件的修改
git checkout .  # 放弃所有文件的修改
git reset HEAD
//取消已缓存的内容
git reset HEAD a.php #只撤消a.php
git reset HEAD * #撤消所有
git reset HEAD^
//当文件add提交到暂存区,也commit了,撤回文件
git reset HEAD^ # 撤消上一次的commit 不带参数默认是--mixed 例:git reset --mixed HEAD^  也可以写成git reset HEAD~1
git reset HEAD~2 如果你进行了2次commit,想都撤回,可以使用HEAD~2
git reset fdaeaf208f0e142ceba5766d17786d60fcebc1dd #撤消指定的commitId
git reset --hard fdaeaf208f0e1 # 回退到指定版本 放弃工作区的所有修改,还原到指定版本的代码
--soft:不删除工作空间改动代码,撤销commit,不撤销git add .操作,重置位置的同时,保留working Tree工作目录和index暂存区的内容,只让repository中的内容和 reset 目标节点保持一致,因此原节点和reset节点之间的【差异变更集】会放入index暂存区中(Staged files)。所以效果看起来就是工作目录的内容不变,暂存区原有的内容也不变,只是原节点和Reset节点之间的所有差异都会放到暂存区中。
--mixed(默认):不删除工作空间改动代码,撤销commit,并且撤销git add . 操作,重置位置的同时,只保留Working Tree工作目录的內容,但会将 Index暂存区 和 Repository 中的內容更改和reset目标节点一致,因此原节点和Reset节点之间的【差异变更集】会放入Working Tree工作目录中。所以效果看起来就是原节点和Reset节点之间的所有差异都会放到工作目录中。
--hard:删除工作空间改动代码,撤销commit,撤销git add . 操作,重置位置的同时,直接将 working Tree工作目录、 index 暂存区及 repository 都重置成目标Reset节点的內容,所以效果看起来等同于清空暂存区和工作区。
注意完成这个操作后,就恢复到了指定版本的commit状态。

Git 远程仓库

git remote
//查看当前有哪些远程仓库
git remote add [alias] [url]
//添加一个远程仓库,参数[alias]为别名, [url]为远程仓库的地址
git fetch、git pull
//暂时还未深入理解
git push [alias] [branch]
git push origin master
//将本地仓库master分支推送到远程origin分支
//有时候需要用到-f强推
git reset --soft HEAD~1
//撤销本地的提交,--soft 选项会保留工作目录和暂存区的更改,仅撤销提交,HEAD~1 表示撤销最近的一次提交
git reset --hard HEAD~1
//完全丢弃这些更改,可以使用 --hard 选项
git push --force-with-lease
//更改完之后强制推送,-with-lease它会检查远程分支的当前状态是否与你上次拉取时一致,没有被其他人修改时它才会执行强制推送。
git remote rm [别名]
//删除远程仓库

Git的分支管理

git branch
//查看分支/创建分支,如果没有参数,git branch会列出你在本地的分支;如果有参数,git branch就会创建以参数命名的分支。
git branch -d (分支名)
//删除分支
git checkout (分支名)
//可以切换分支
 git checkout -b (分支名) 
//创建分支并切换到该分支
git merge (分支名) 
//可以将分支名对应的分支合并到到当前分支中去
合并的时候,最大的难点就是冲突了,合并并不仅仅是简单的文件添加、移除的操作,Git 也会合并修改,如果我们在两个分支中同时修改了同一个文件,这时再合并,就可能会产生冲突.

关于git指令还有很多内容,这里只做了简要介绍,大家可以参考官网git-Reference,后面用到新的指令会继续补充,欢迎大家收藏和留言补充.


http://www.niftyadmin.cn/n/5864901.html

相关文章

IDEA 断点小知识

在DEBUG的时候&#xff0c;常常遇见这几种场景&#xff1a; 在一个断点中我只需要调试特定的场景/条件下的代码发生异常时能够快速定位并暂停执行在DEBUG时候&#xff0c;阅读到源码需要知道某个变量的值并且打印出来 1. 条件断点 在 IntelliJ IDEA 中&#xff0c;条件断点允…

Ubuntu及其衍生系统安装Python

目录 更新包列表 安装Python 3 安装特定版本的Python 验证安装 安装pip 更新包列表 在安装新的软件包之前&#xff0c;建议先更新系统的包列表&#xff0c;以确保安装的是最新版本的软件包&#xff1a; sudo apt update 安装Python 3 Ubuntu等系统通常默认安装了Python…

目标检测数据集-风机叶片缺损检测数据集(适用YOLO全系列)

YOLO格式的风机叶片缺损检测数据集&#xff0c;适用于YOLOv3-v11所有版本&#xff0c;可以用于本科毕设、发paper、做课设等等&#xff0c;有需要的在这里获取&#xff1a; 风机叶片损坏检测数据集 数据集专栏地址&#xff1a;https://blog.csdn.net/qq_41304809/category_1290…

Oracle:执行DELETE语句长时间无响应的排查步骤及解决方案

目录 [TOC](目录)**一、检查锁状态与阻塞会话****二、检查未提交事务****三、分析执行计划与SQL性能****四、检查触发器与约束****五、资源竞争与系统瓶颈****六、其他高级排查手段****七、紧急处理流程****总结** 以下是针对Oracle执行DELETE语句长时间无响应的排查步骤及解决…

2025软件测试面试题大全(78题含答案解析)

1、什么是兼容性测试&#xff1f;兼容性测试侧重哪些方面&#xff1f; 参考答案&#xff1a; 兼容测试主要是检查软件在不同的硬件平台、软件平台上是否可以正常的运行&#xff0c;即是通常说的软件的可移植性。 兼容的类型&#xff0c;如果细分的话&#xff0c;有平台的兼容…

vLLM学习1

调用方式 一、vLLM 提供的两种调用方式 1. Offline Batched Inference&#xff08;离线批处理&#xff09; 调用特点&#xff1a;一次性传入一批&#xff08;batch&#xff09;的请求&#xff0c;等待所有请求都处理完毕后&#xff0c;一次性返回推理结果。对用户而言&#x…

std::thread的同步机制

在 C 中&#xff0c;std::thread 用于创建和管理线程。为了确保多个线程能正确、安全地访问共享资源&#xff0c;避免数据竞争和不一致问题&#xff0c;需要使用同步机制。 互斥锁&#xff08;std::mutex&#xff09; 原理&#xff1a;互斥锁是一种最基本的同步原语&#xff…

Linux 命令大全完整版(12)

Linux 命令大全 5. 文件管理命令 ln(link) 功能说明&#xff1a;连接文件或目录。语  法&#xff1a;ln [-bdfinsv][-S <字尾备份字符串>][-V <备份方式>][--help][--version][源文件或目录][目标文件或目录] 或 ln [-bdfinsv][-S <字尾备份字符串>][-V…