【Git CMD】Git常用命令总结

article/2025/9/18 3:41:46

目录

  • 0 git的工作区、暂存区、本地仓库和远程仓库
    • 0.1 图解
    • 0.2 解析
  • 1 本地仓库
    • 1.1 创建版本库
    • 1.2 分支
      • 1.2.1 查看本地仓库的分支信息
      • 1.2.2 创建分支
      • 1.2.3 切换分支
      • 1.2.4 重命名分支
      • 1.2.5 合并分支
      • 1.2.6 删除分支
    • 1.3 添加文件到暂存区
      • 1.3.1 添加单个文件
      • 1.3.2 添加多个文件
      • 1.3.3 添加所有文件
      • 1.3.4 删除暂存区的文件
      • 1.3.5 只添加有更新及新增的文件
      • 1.3.6 添加所有更新及删除的文件
      • 1.3.7 添加符合格式的文件
    • 1.4 查看本地仓库和暂存区的状态
    • 1.5 提交文件
    • 1.6 查看本地仓库提交的历史
      • 1.6.1 常规参数
      • 1.6.2 筛选参数
    • 1.7 比较在暂存区与工作区的差异
    • 1.8 回退版本
    • 1.9 在暂存区和工作区删除文件
    • 1.10 在暂存区和工作区重命名文件
  • 2 远程仓库
    • 2.1 查看远程仓库相关信息
    • 2.2 查看远程仓库的分支信息
    • 2.3 删除远程仓库的分支
    • 2.4 删除远程仓库
    • 2.5 修改远程仓库名
    • 2.6 修改远程仓库的URL
  • 3 本地仓库与远程仓库
    • 3.1 克隆远程仓库的项目到本地仓库
    • 3.2 从远程仓库获取数据到本地仓库
    • 3.3 关联本地仓库到服务器仓库
    • 3.4 查看所有分支信息
    • 3.5 同步分支
    • 3.6 拉取分支
      • 3.6.1 将远程仓库指定分支拉取到本地仓库指定分支
      • 3.6.2 将远程仓库指定分支拉取到本地仓库当前分支
      • 3.6.3 拉取远程分支并同时创建对应的本地分支
    • 3.7 推送分支
      • 3.7.1 将本地当前分支推送到远程指定分支
      • 3.7.2 将本地当前分支推送到与本地当前分支同名的远程分支
      • 3.7.3 强制将本地当前分支推送到与本地当前分支同名的远程分支

0 git的工作区、暂存区、本地仓库和远程仓库

0.1 图解

在这里插入图片描述

0.2 解析

平时我们写的代码都是在 工作区(workspace) ,执行add命令后就是提交到了 暂存区(Index) ,再执行commit命令后就把代码提交到了 本地仓库(Repository) 了,最后再执行push命令把本地代码提交到 远程仓库(Remote)

反过来,执行pull命令可在本地有版本库时,将 远程仓库(Remote) 最新的commit数据合并到 工作区(workspace) ;执行fetch命令在本地有版本库时,同步 远程仓库(Remote) 的分支与 本地仓库(Repository) 的分支;执行checkout命令可切换指定分支。而执行clone命令可在本地没有版本库时,从 远程仓库(Remote) 克隆整个版本库到 本地仓库(Repository)

1 本地仓库

1.1 创建版本库

在工作区的一个合适的地方,创建一个空目录,运行Git CMD,使用init命令创建版本库(Repository),这是一个空的仓库(empty Git repository),其下有一个.git目录,是Git用于跟踪及管理版本库的。

git init #在当前目录下初始化本地仓库,即生成版本库(.git目录)git init [目录名] #同时创建一个版本库和一个目录,版本库(.git目录)生成在该目录下

1.2 分支

主分支(Master/Main)是 Git 的一个默认分支。它在项目的第一次提交时被实例化。当你开始提交时,主分支的指针会自动向前移动。一个版本库只能有一个主分支。

Git 分支实际上是指向更改快照的指针。一个分支(branch)代表一条独立的开发线,分支的使用可以从主线(Master/Main)上分离开来,直到该分支开发得差不多了再合并到主线(Master/Main)上来。
在这里插入图片描述

1.2.1 查看本地仓库的分支信息

git branch #查看本地仓库的分支信息
#或
git branch --list

对于列出的分支,其中*标记的表示当前所在的分支。

1.2.2 创建分支

git branch [分支名] #创建指定名称的分支

1.2.3 切换分支

git checkout [分支名] #切换当前分支到指定分支git branch -m master #切换到主分支git checkout -b [分支名] #创建指定名称的分支并切换至该分支

1.2.4 重命名分支

git branch -m [原分支名] [新分支名] #将原分支名改为新分支名

1.2.5 合并分支

git merge [分支名] #将当前分支合并到主分支

1.2.6 删除分支

git branch -d [分支名] #删除本地仓库的指定分支(如果该分支有未合并的修改,Git会阻止你删除它)
#或
git branch -D [分支名]

1.3 添加文件到暂存区

1.3.1 添加单个文件

git add [文件名] #添加指定文件到暂存区

1.3.2 添加多个文件

git add [文件名1] [文件名2] ... #添加指定文件到暂存区

1.3.3 添加所有文件

git add [目录名] #添加指定目录下的文件到暂存区git add . #一次性添加当前目录下的所有文件到暂存区git add -A #同样也是将仓库中所有的文件添加到暂存区(A表示All)

1.3.4 删除暂存区的文件

如果该文件在工作区删除前已添加至暂存区,使用以下命令删除暂存区的该文件。

git add [已从工作区删除的文件名] #从暂存区删除该文件

1.3.5 只添加有更新及新增的文件

git add --ignore-removal . #忽略删除的文件

1.3.6 添加所有更新及删除的文件

git add -u #忽略新增的文件(u表示untracted)

1.3.7 添加符合格式的文件

git add *.txt #添加所有txt文件(可根据自行需要修改文件格式了类型参数)

1.4 查看本地仓库和暂存区的状态

status命令可以用来检查文件是否被追踪(tracked),然而不能看到提交记录与信息。

git status #查看上次提交后是否有对文件再次修改的详细信息
git status -s #查看上次提交后是否有对文件再次修改的简短信息,其中新添加的未跟踪文件前面有 ?? 标记,新添加到暂存区中的文件前面有 A 标记,修改过的文件前面有 M 标记(s全称short)

1.5 提交文件

commit命令为项目创建快照,可以将项目恢复到需要的版本。两个不同的提交不会被覆盖,这是因为每个提交都会有一个由SHA(安全哈希算法)创建的加密数字commit-id。

git commit -m "[注释]" #把暂存区内的文件提交到本地仓库,引号内为提交文件的相关说明信息(m全称message)git commit [文件名1] [文件名2] ... -m "[注释]" #提交暂存区的指定文件到暂存区git commit -a #提交所有有修改的文件(不需要执行add命令),忽略新创建的文件

1.6 查看本地仓库提交的历史

1.6.1 常规参数

log命令用于查看本地仓库提交的记录。一个git日志包含以下数据:

  • 提交的id。一个由SHA(安全哈希算法)算法生成的40个字符的检查和数据。
  • 提交的作者元数据。作者的信息,如作者姓名和电子邮件。
  • 提交的日期元数据。一个提交时间的日期时间戳。
  • 提交的标题/信息。在提交信息中给出的提交概述。
git log #查阅提交的历史记录git log --online #一行显示一个提交信息,提交的id只显示前7个字符git log --stat #显示被修改的文件及修改的行数git log --patch #不仅显示被修改的文件及修改的行数,还显示添加、删除和更新的行的位置
#或
git log -pgit log --graph #以图表形式查看提交日志,通常和--online参数结合使用q #退出log命令,回到bash

1.6.2 筛选参数

可以使用一些筛选参数获取自己所需要的提交记录。如通过数量、日期、作者筛选等。

①通过数量筛选

git log -<n> #其中n表示num,即可得到最后n次提交信息

②通过日期筛选

git log --after="yy-mm-dd" --before="yy-mm-dd" #其中yy表示year,mm表示month,dd表示day,即可得到在指定日期范围内的所有提交信息git log --after="22 days ago" #可得到22天前的提交信息git log --after="2 weeks ago" #可得到2周前的提交信息#after与before可用since和until代替,它们是同义词

③通过作者筛选

git log --author="作者名" #可得到指定作者的提交信息(其中作者名可省略一些字符,因引号内接受一个正则表达式)git log -author="@gmail.com" #可得到使用google邮箱的作者的提交信息

④通过commit时的注释信息筛选

git log --grep="注释" #可得到指定注释信息的提交信息(其中注释可省略一些字符,因引号内接受一个正则表达式)

1.7 比较在暂存区与工作区的差异

git diff [文件名] #显示暂存区和工作区的差异git diff --cached [文件名] #显示暂存区和上一次提交(commit)的差异
#或
git diff --staged [文件名] git diff [commit-id1] [commit-id2] #显示两个指定提交间的差异git diff [分支名1] [分支名2] #显示两个分支间的差异

1.8 回退版本

HEAD说明:

  • HEAD 表示当前版本

  • HEAD^ 上一个版本

  • HEAD^^ 上上一个版本

  • HEAD^^^ 上上上一个版本

  • HEAD~0 表示当前版本

  • HEAD~1 上一个版本

  • HEAD^2 上上一个版本

  • HEAD^3 上上上一个版本

git reset HEAD^ #回退所有内容到上一个版本git reset HEAD^ [文件名] #回退指定文件到上一个版本git reset [commit-id] #回退到指定版本git reset --soft HEAD~<n> #回退到前n个版本,其中n表示num,用相应数字填入git reset --hard HEAD #hard参数将撤销工作区中所有未提交的修改内容,将暂存区与工作区都回到上一次版本,并删除之前的所有信息提交,慎用!git checkout -- [文件名] #撤销指定文件的修改,即回到最近一次commit或add时的状态

1.9 在暂存区和工作区删除文件

git rm [文件名] #删除在暂存区和工作区的指定文件git rm -f [文件名] #如果删除之前修改过并且已经放到暂存区域的话,则必须要用强制删除选项 -fgit rm --cached [文件名] #如果想把文件从暂存区域移除,但仍然希望保留在当前工作目录中,则使用 --cached 选项

1.10 在暂存区和工作区重命名文件

git mv [原文件名] [新文件名] #将原文件名改为新文件名git rm -f [原文件名] [新文件名] #如果新文件名已经存在,则必须要用强制重命名选项 -f

2 远程仓库

2.1 查看远程仓库相关信息

git remote #简短列出当前远程仓库的名称git remote --verbose #详细列出当前远程仓库的名称及仓库地址
#或
git remote -vgit remote show [远程仓库名] #查看某个远程仓库的详细信息(包括仓库地址及分支信息)

2.2 查看远程仓库的分支信息

git branch -r #查看远程仓库的分支信息

2.3 删除远程仓库的分支

git push [远程仓库名] -delete [分支名] #删除远程仓库的指定分支

2.4 删除远程仓库

git remote rm [远程仓库名] #删除指定远程仓库
#或
git remote remove [远程仓库名]

2.5 修改远程仓库名

git remote rename [原远程仓库名] [新远程仓库名] #修改原远程仓库名为新远程仓库名

2.6 修改远程仓库的URL

git remote set-url [远程仓库名] [新url] #修改远程仓库的链接为新url

3 本地仓库与远程仓库

3.1 克隆远程仓库的项目到本地仓库

git clone [远程仓库url] #url为远程仓库的HTTPS地址
git clone -b [分支名] [远程仓库url] #从远程仓库拉取指定的某一个分支,url为远程仓库的HTTPS地址

当使用上述命令克隆一个远程仓库时,远程仓库会被添加一个默认的名字"origin"。

3.2 从远程仓库获取数据到本地仓库

git fetch origin #获取远程仓库的更新到本地(不会合并或修改)git merge #提取获取到的数据并合并到本地仓库的当前分支

以上两句命令时常一起使用。

git pull origin #获取远程仓库的数据并合并到当前分支,等同于fetch+merge命令

3.3 关联本地仓库到服务器仓库

git remote add origin git@ip:your_name/project_name.git #查看本地仓库和远程仓库的所有分支信息

3.4 查看所有分支信息

git branch -a #查看本地仓库和远程仓库的所有分支信息

3.5 同步分支

git fetch #同步远程仓库的分支与本地仓库的分支

3.6 拉取分支

3.6.1 将远程仓库指定分支拉取到本地仓库指定分支

git pull origin [远程分支名]:[本地分支名]

3.6.2 将远程仓库指定分支拉取到本地仓库当前分支

git pull origin [远程分支名]

3.6.3 拉取远程分支并同时创建对应的本地分支

git checkout -b [本地分支名] origin/[远程分支名]

3.7 推送分支

3.7.1 将本地当前分支推送到远程指定分支

git push origin [本地分支名]:[远程分支名]

3.7.2 将本地当前分支推送到与本地当前分支同名的远程分支

git push origin [本地分支名]

3.7.3 强制将本地当前分支推送到与本地当前分支同名的远程分支

git push --force origin [本地分支名] #在本地版本与远程版本有差异的情况下,使用强制推送

http://chatgpt.dhexx.cn/article/AkLQSS3d.shtml

相关文章

Git常用命令大全(从入门到使用,学不会评论区骂我)

Git常用命令大全 1&#xff1a;Git全局设置 当安装Git后首先要做的事情是设置用户名称和email地址。这是非常重要的&#xff0c;因为每次Git提交都会使用该用户信息。在Git 命令行中执行下面命令&#xff1a; 设置用户信息 git config --global user.name “你的用户名” …

Git常用命令及方法大全

下面是我整理的常用 Git 命令清单。几个专用名词的译名如下。 Workspace&#xff1a;工作区Index / Stage&#xff1a;暂存区Repository&#xff1a;仓库区&#xff08;或本地仓库&#xff09;Remote&#xff1a;远程仓库 本地分支关联远程&#xff1a;git branch --set-upstre…

Git 常用命令大全

一、 Git 常用命令速查 git branch 查看本地所有分支git status 查看当前状态 git commit 提交 git branch -a 查看所有的分支git branch -r 查看远程所有分支git commit -am "init" 提交并且加注释 git remote add origin git192.168.1.119:ndshowgit push origin …

Git常用命令大全

Git常用命令大全 下面是我整理的常用 Git 命令清单。几个专用名词的译名如下。 Workspace&#xff1a;工作区Index / Stage&#xff1a;暂存区Repository&#xff1a;仓库区&#xff08;或本地仓库&#xff09;Remote&#xff1a;远程仓库 本地分支关联远程 git branch --set-u…

git常用命令总结

1 git概述 1.1 简介 git是分布式版本控制系统&#xff08;Distributed Version Control System&#xff0c;简称DVCS&#xff09;&#xff0c;分为两种仓库 &#xff1a;本地仓库和远程仓库。 本地仓库&#xff1a;是在开发人员自己电脑上的Git仓库远程仓库&#xff1a;是在…

20 个最常用的 Git 命令用法说明及示例

在这篇文章中&#xff0c;我将介绍在使用 Git 时最常使用的 20 个命令。 作者 | Sahiti Kappagantula 译者 | 弯月&#xff0c;责编 | 屠敏 出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09; 以下为译文&#xff1a; 以下是这些Git命令&#xff1a; git config git…

Git基本命令大全

点击上方“小白学视觉”&#xff0c;选择加"星标"或“置顶” 重磅干货&#xff0c;第一时间送达 1、git clone -b <指定分支名> <远程仓库地址> 克隆指定分支 如&#xff1a; git clone -b bestore_master ssh://gitgit-ssh.xxx.com/xxx.git 2、 git bra…

常用git命令总结大全

目录 一、常用命令 1、git init 2、git add 文件名 3、git commit -m “备注” 4、git status 与 git diff 5、git show commit_id 查看某次修改 6、git log 与 git reflow 7、git pull (--rebase) 8、git push (-u) 与 git branch (-u) 9、git reset --hard 与 git…

Git常用命令

这是一篇笔记 //查看某个命令文档 git help <command> git <command> -h git <command> --help1.基本操作 用户配置 git config --global user.name "bettyaner" git config --global user.email bettyaner163.com配置级别 –local&#xff08…

Git 常用命令速查表(收藏大全)

目录 一、新建代码库 二、配置 三、增加/删除/修改文件 四、代码提交 五、分支 六、标签 七、查看信息 八、远程操作 九、撤销 十、其他 名词 master: 默认开发分支 origin: 默认远程版本库 Index / Stage&#xff1a;暂存区 Workspace&#xff1a;工作区 Reposito…

【深度学习】ResNet50

结构 ResNet50结构&#xff1a; 推荐查看&#xff1a;caffe可视化版 resnet50中1x1filter的作用&#xff1a; 1、在shortcut connection block的残差层中使用1x1的fiter先降维&#xff08;channel&#xff09;&#xff0c;然后再使用1x1的fiter升维,使残差层输出与恒等映射…

ResNet-50 结构

ResNet有2个基本的block&#xff0c;一个是Identity Block&#xff0c;输入和输出的dimension是一样的&#xff0c;所以可以串联多个&#xff1b;另外一个基本block是Conv Block&#xff0c;输入和输出的dimension是不一样的&#xff0c;所以不能连续串联&#xff0c;它的作用本…

ResNet 简介

ResNet 本文对resnet进行介绍&#xff0c;文章目录如下&#xff1a; ResNet 历史ResNet 亮点为何层数不能太深residual 残差模块介绍网络结构BN 层迁移学习 本文参考资料有&#xff1a; 6.1 ResNet网络结构&#xff0c;BN以及迁移学习详解 https://www.bilibili.com/video/…

Resnet

再上一偏博文中我们说到越复杂的问题需要越深层的神经网络拟合&#xff0c;但是越深层的神经网络越难训练&#xff0c;原因可能是过拟合以及损失函数的局部最优解过多&#xff08;鞍点过多&#xff1f;导致经过相同的epoch更深的网络的trainerror大于较浅的网络&#xff0c;因为…

ResNet网络详解

ResNet ResNet在2015年由微软实验室提出&#xff0c;斩获当年lmageNet竞赛中分类任务第一名&#xff0c;目标检测第一名。获得coco数据集中目标检测第一名&#xff0c;图像分割第一名。 ResNet亮点 1.超深的网络结构(突破1000层) 2.提出residual模块 3.使用Batch Normalizat…

1 通俗易懂解释Resnet50

通俗易懂Resnet50网络结构分析 1 Why(该网络要解决什么样的问题)1.1 什么叫梯度消失和梯度爆炸 2 How(如何解决该问题)2.1 直观解释2.2 残差是什么2.3 网络结构 3 what 结果怎么样 1 Why(该网络要解决什么样的问题) 理论上网络越来越深&#xff0c;获取的信息越多&#xff0c;…

ResNet50网络结构

代码&#xff1a; import keras keras.utils.plot_model(keras.applications.ResNet50(include_topTrue,input_shape(224,224,3),weightsNone), to_fileimage_model.png, show_shapesTrue) ResNet50的标准输入为224x224&#xff0c;avg_pool&#xff08;-3层&#xff09;及之…

resnet18与resnet50

ResNet18的18层代表的是带有权重的 18层&#xff0c;包括卷积层和全连接层&#xff0c;不包括池化层和BN层。 Resnet论文给出的结构图 参考ResNet详细解读 结构解析&#xff1a; 首先是第一层卷积使用7∗77∗7大小的模板&#xff0c;步长为2&#xff0c;padding为3。之后进行…

长文解析Resnet50的算法原理

大家好啊&#xff0c;我是董董灿。 恭喜你发现宝藏了。收藏起来吧。 前言 从打算写图像识别系列文章开始已经快2个月了&#xff0c;目前写了有9篇文章&#xff0c;几乎涵盖了Renset50这一CNN网络95%的算法。 今天整理了下&#xff0c;修复一些笔误和表述错误&#xff0c;整…