git常用命令总结

article/2025/9/17 5:33:52

1 git概述

1.1 简介

git是分布式版本控制系统(Distributed Version Control System,简称DVCS),分为两种仓库 :本地仓库远程仓库

  • 本地仓库:是在开发人员自己电脑上的Git仓库
  • 远程仓库:是在远程服务器上的Git仓库

在这里插入图片描述

  • Clone:克隆,就是将远程仓库复制到本地
  • Push:推送,就是将本地仓库代码上传到远程仓库
  • Pull:拉取,就是将远程仓库代码下载到本地仓库

1.2 工作流程

在这里插入图片描述
工作流程如下:

  1. 从远程仓库中克隆代码到本地仓库
  2. 从本地仓库中checkout代码,然后进行代码修改
  3. 在提交前先将代码提交到暂存区
  4. 提交到本地仓库。本地仓库中保存修改的各个历史版本
  5. 修改完成之后,需要和团队成员共享代码时,将代码push到远程仓库

1.3 Git的下载和安装

下载地址:官网地址,点一下就行

在这里插入图片描述
然后双击下载的安装文件,一直傻瓜式的下一步就行吗,如果想更改安装目录,就在最开始的时候选择你想要安装的目录就行。
安装好git之后,在你电脑的任何一个文件夹,桌面也可以,右键一下,如果在列表里面出现了下面两个选项,就说明安装成功了。

在这里插入图片描述

2 Git代码托管服务

2.1 常用的Git代码托管服务

前面我们已经了解到了git中存在两个类型的仓库,即本地仓库远程仓库。那么我们如何搭建Git远程仓库呢?其中我们可以借助互联网上提供的一些代码托管服务来实现,其中常用的有GitHub码云GitLib等。

可能是因为我是中国人,习惯看中文,所以我个人比较喜欢码云,用它来托管我们的服务

想使用码云的相关服务,需要注册账号,注册地址

注册完之后,就可以登录你的远程仓库啦
在这里插入图片描述
紧接着,就可以创建一个名为:MyGitRept创库玩一玩咯
在这里插入图片描述
创建完成之后,就可以查看仓库信息
在这里插入图片描述

每一个Git远程仓库都会对应一个网络地址,可以点击克隆/下载按钮弹出窗口并点击复制按钮获得这个网络地址
在这里插入图片描述
我们当前的网络地址为:https://gitee.com/ldy0206/myGitRept.git

3 Git常用命令

主要介绍一下命令:环境配置获取Git仓库工作目录、暂存区以及版本库概念Git工作目录下的两种状态本地仓库操作远程仓库的使用分支标签

3.1 环境配置

当安装Git后,首先要做的事情就是设置用户名和email地址,这是非常重要的,因为每次Git提交都会使用该用户信息

  • 设置用户信息
    git config --global user.name "刘小亮"
    git config --global user.email 1078813134@qq.com

  • 查看配置信息
    git config --list
    git config user.name

通过上面的命令设置的信息会保存在 ~/.gitconfig文件中

3.2 获取Git仓库

要使用Git对我们的代码进行版本控制,首先需要获得git仓库

获取Git仓库常用的两种方式:

  • 在本地初始化一个Git仓库
  • 从远程仓库克隆

3.2.1 在本地初始化一个Git仓库

执行步骤如下:

  1. 在电脑的任意位置创建一个空目录(例如repo1)作为我们的本地Git仓库
  2. 进入这个目录中,点击右键打开Git bash窗口
  3. 执行命令git init

如果在当前目录中看到.git文件夹(此文件夹为隐藏文件夹),则说明Git仓库创建成功
在这里插入图片描述

3.2.2 从远程仓库克隆

可以通过Git提供的命令从远程仓库进行克隆,将远程仓库克隆到本地
命令形式为:git clone 远程Git仓库地址
在这里插入图片描述

2.3 工作目录、暂存区以及版本库概念

  • 版本库:前面看到的.git隐藏文件夹就是版本库,版本库中存储了很多配置信息、日志信息和文件版本信息等
  • 工作目录(工作区):包含.git文件夹的目录就是工作目录,主要用于存放开发的代码。
  • 暂存区:.git文件夹中有很多文件,其中有一个index文件就是暂存区,也可以叫做stage。暂存区是一个临时保存修改文件的地方。

在这里插入图片描述

2.4 Git工作目录下的两种状态

Git工作目录下的文件存在两种状态:

  • untracked未跟踪(未被纳入版本控制)
  • tracked已跟踪(被纳入版本控制)
  • Unmodified未修改状态
  • Modifed已修改状态
  • Staged已暂存状态

这些文件的状态会随着我们执行Git的命令发生变化

2.5 本地仓库操作

  • git status 查看文件状态
    在这里插入图片描述
    也可以使用git status -s是输入的信息更加的简介
    在这里插入图片描述
  • git add将未跟踪的文件加入暂存区
    在这里插入图片描述
    将新创建的文件加入暂存区后查看文件的状态
    在这里插入图片描述
  • git resst 将暂存区的文件取消暂存
    在这里插入图片描述
    将文件取消暂存后查看文件状态
    在这里插入图片描述
  • git commit 将暂存区的文件修改提交到本地仓库
    在这里插入图片描述
  • git rm删除文件
    在这里插入图片描述
    删除文件后查看文件状态
    在这里插入图片描述
    上面删除的只是工作区的文件,需要提交到本地仓库
    在这里插入图片描述
  • 将文件添加到忽略列表
    一般我们总会有些文件无需纳入git的管理,也不希望他们总出现在为跟踪文件列表。通常都是些自动生成的文化,比如日志文件、或者编译过程中创建的临时文件等。在这种情况下,我们可以在工作目录中创建一个名为.gitignore的文件(文件名称固定),列出要忽略的文件模式。下面是一个示例:
    在这里插入图片描述
  • git log查看日志记录
    在这里插入图片描述

2.6远程仓库操作

下面会分别介绍查看远程仓库添加远程仓库从远程仓库克隆移除无效的远程仓库从远程仓库中抓取与拉取推送到远程仓库

  • 查看远程仓库
    如果想查看已经配置的远程仓库服务器,可以运行git remote命令。它会列出指定的每一个远程服务器的简写。如果已经克隆了远程仓库,那么应该至少能看到origin,这是git克隆的仓库服务器的默认名字。
    在这里插入图片描述
  • 添加远程仓库
    运行git remote add <shortname> <url>添加一个新的远程git仓库,同时指定一个可以引用的简写
    在这里插入图片描述
  • 从远程仓库克隆
    如果你想获得一份已经存在的git仓库的拷贝,这时就要利用git clone命令了。git克隆的是改git仓库服务器上的几乎所有数据(包括日志信息、历史记录等),而不仅仅是复制工作所需要的文件。当你执行git clone命令的时候,默认配置下远程git仓库中的每一个文件的每一个版本都将被拉取下来。
    克隆仓库的命令是 git clone [url]
    在这里插入图片描述
  • 移除无效的远程仓库
    如果因为一些原因想要移除一个远程仓库,可以使用git remote em
    在这里插入图片描述
    注意:此命令只是从本地移除远程仓库的记录,并不会真正影响到远程仓库

从远程仓库中抓取与拉取
git fetch是从远程仓库获取最新版本到本地仓库,不会自动merge
git pull是从远程仓库获取最新版本并merge到本地仓库

git fetch是从远程仓库获取最新版本到本地仓库,不会自动merge
在这里插入图片描述
git pull是从远程仓库中获取最新版本并merge到本地仓库
在这里插入图片描述
注意:如果当前本地仓库不是从远程仓库克隆,而是本地创建的仓库,并且仓库中存在文件,此时在从远程仓库拉取文件的时候会报错(fatal:refusing to merge unrelated histories),解决此问题可以在git pull 命令后加入参数--allow-unrelated -histories

推送到远程仓库
当你想分享你的代码时,可以将其推送到远程仓库
命令形式:git push [remote -name] [brach -name]
在这里插入图片描述


http://chatgpt.dhexx.cn/article/6gOpKVWB.shtml

相关文章

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;整…

【pytorch】ResNet18、ResNet20、ResNet34、ResNet50网络结构与实现

文章目录 ResNet主体BasicBlockResNet18ResNet34ResNet20 Bottleneck BlockResNet50 ResNet到底解决了什么问题 选取经典的早期Pytorch官方实现代码进行分析 https://github.com/pytorch/vision/blob/9a481d0bec2700763a799ff148fe2e083b575441/torchvision/models/resnet.py 各…

神经网络学习小记录20——ResNet50模型的复现详解

神经网络学习小记录20——ResNet50模型的复现详解 学习前言什么是残差网络什么是ResNet50模型ResNet50网络部分实现代码图片预测 学习前言 最近看yolo3里面讲到了残差网络&#xff0c;对这个网络结构很感兴趣&#xff0c;于是了解到这个网络结构最初的使用是在ResNet网络里。 …

彻底搞懂ResNet50

pytorch实现resnet50代码如下&#xff1a; &#xff08;1&#xff09;一个block实现&#xff0c;如1x1&#xff0c;64&#xff0c;3x3&#xff0c;64&#xff0c;1x1&#xff0c;256。这段代码中&#xff0c;1x1的卷积核只是为了改变输出通道数&#xff0c;3x3的卷积可能改变卷…

【ResNet】Pytorch从零构建ResNet50

Pytorch从零构建ResNet 第一章 从零构建ResNet18 第二章 从零构建ResNet50 文章目录 Pytorch从零构建ResNet前言一、Res50和Res18的区别&#xff1f;1. 残差块的区别2. ResNet50具体结构 二、ResNet分步骤实现三、完整例子测试总结 前言 ResNet 目前是应用很广的网络基础框架&…

ResNet介绍

ResNet介绍 1 简要概括 ResNet&#xff08;Residual Neural Network&#xff09;由微软研究院的Kaiming He等四名华人提出&#xff0c;通过使用ResNet Unit成功训练出了152层的神经网络&#xff0c;并在ILSVRC2015比赛中取得冠军&#xff0c;在top5上的错误率为3.57%&#xff0…