当前位置: 首页 > news >正文

Git:LF will be replaced by CRLF、pytest PermissionError以及Git应用中的一些问题解决及一些使用技巧

一、Git:LF will be replaced by CRLF和pytest: --cov NTERNALERROR PermissionError

1. git warning: LF will be replaced by CRLF in ***file

    偶然git add在进行代码提交的时候碰到警告warning: LF will be replaced by CRLF in ***file,原因是编辑的代码内容中存在符号转义问题,windows中的换行符为 CRLF, 而在linux下的换行符为LF,所以在执行add . 时,git发现改动文件中引入了LF会发出警告你哪些文件不是纯CRLF文件,但git不会自动修改工作区的文件,而是对暂存区进行修改。我们也可不做任何处理,它只是会提示,对代码提交无影响。

$ git add .
warning: LF will be replaced by CRLF in ***file
The file will have its original line endings in your working directory
#可使用如下解决办法如下:
$ git config --global core.autocrlf false

    core.autocrlf:Setting this variable to "true" is almost the same as setting the text attribute to "auto" on all files except that text files are not guaranteed to be normalized: files that contain CRLF in the repository will not be touched. Use this setting if you want to have CRLF line endings in your working directory even though the repository does not have normalized line endings. This variable can be set to input, in which case no output conversion is performed.

2. pytest --cov NTERNALERROR> PermissionError:另一个程序正在使用此文件

    在进行pytest自动化测试的时候,发现使用pytest执行命令正常,但是使用pytest --cov度量测试覆盖率时会报错:INTERNALERROR> PermissionError: [WinError 32] 另一个程序正在使用此文件,进程无法访问。: 'F:\.coverage5.17332.110161' 。从报的错误来看是提示pytest生成的临时文件.coverage..被其它程序占用,但我本地确实没有进行其它的操作,后来想了想也许和打开的代码IDE软件有关,里面会列出了工作目录中的文件,包括临时生成的.coverage文件,于是关闭IDE软件发现运行正常。但依然感觉有点问题,因为之前我在同样的情况下也是正常的,不过有一种可能就是和我电脑上安装了公司的加密软件有关系吧。
    针对这种情况,也不用怎么去解决,在进行pytest测试代码编写的时候不用去度量生成覆盖数据,即只进行pytest命令即可,待测试脚本全部写好再进行覆盖率测算,这时也就不需要打开pytestIDE了。

3.shell中获取软链接指向的target目标路径

    在进行jenkins发布的时候,通过切换软链接来变更线上的代码版本,于是偶尔会有需求获取当前的current指向的版本(用来回滚)这时就需要在shell中获取软链接指向的target目标路径了,有什么好的办法呢?本来我是想找找有没有这种命令,比如我的软链名是current.如果能使用ln -showtarget current这种命令直接操作得到就好了,不过没有找到。业务中又需要,到也不是不能实现,只是觉得有更直接好用的命令方法吧,使用shell获取软链接指向的target目标路径可以使用grep或者find来操作,示例如下:

#第1种可以通过grep匹配当前的项中存在软链接的关键词来实现
root@test:/tmp/testdir# ls -al /tmp/testdir |grep -o '/tmp/testdir.*'
#第2种通过find实现
root@test:/tmp/testdir# find -type l -ls | grep current | awk '{print $13}'

 

二、Git应用中的一些问题解决及一些使用技巧

1. git diff 文件比对时中文编码问题。

    git diff 一个有差异的文件时,如果出现中文差异,显示出的内容无法阅读,如下内容所示。这时可以通过修改git config配置几个命令来解决。
+ //<E4><BF><9D><E5><AD><98>

#在命令行下输入以下命令:
$ git config --global core.quotepath false          # 显示 status 编码
$ git config --global gui.encoding utf-8            # 图形界面编码
$ git config --global i18n.commit.encoding utf-8    # 提交信息编码
$ git config --global i18n.logoutputencoding utf-8  # 输出 log 编码
$ export LESSCHARSET=utf-8

2. 在本地创建项目并和刚创建的git项目同步的步骤

A.在项目根目录执行git init命令创建本地项目,
B.在git服务器上创建一个仓库。
C.执行git remote add origin <git path>,git_path
D.从远程分支拉取master分支并与本地master分支合并。git pull origin master:master
E.提交本地分支到远程分支:git push -u origin master

3.Git可以支持多个远程服务端,并能从其中一个读取再写入另一个。

#添加一个远程服务端
$ git remote add john git@github.com:test/test.git
#查看远程服务端
$ git remote -v 
origin  http://1.git (fetch)
origin  http://1.git (push)
$ git remote show
$ git remote show origin 
$ git log #查看更新记录

4.merge和rebase合并分支

以后你可能想合并你的变动,有两种方式可以做到这一点:
$ git checkout master
$ git merge feature83 # Or...
$ git rebase feature83

    merge和rebase的区别是,merge会尝试解决改动并创建的新的提交来融合他们。rebase则是将从你最后一次从另一个分支分离之后的改动并入,并直接沿用另一个分支的head指针。尽管如此,在你往远端服务器上推送分支之前,不要使用rebase。这会让你混乱。如果你不能确定哪个分支(哪些需要合并,哪些需要移除)。这里有两个git分支切换方式来帮助你:

# Shows branches that are all merged in to your current branch
$ git branch --merged
# Shows branches that are not merged in to your current branch
$ git branch --no-merged

5. git log的使用。

    git log可以列出历史的提交列表,如果想快速查看最近的变动内容,可以使用git log -p。这个p估计就是present的意思吧。而如果只需要看最近文件变动的摘要,可使用$ git log --stat。其它还可以通过log内容来搜索:
$ git log --author=kermit #根据指定的作者查找:
$ git log --grep="keyword" #搜索你提交信息的内容
$ git log --since=2.months.ago --until=1.day.ago #使用ActiveSupport风格的日期来缩短时间范围
$ git count-objects -v #查看数据库使用的统计

相关文章:

Git:LF will be replaced by CRLF、pytest PermissionError以及Git应用中的一些问题解决及一些使用技巧

一、Git:LF will be replaced by CRLF和pytest: --cov NTERNALERROR PermissionError 1. git warning: LF will be replaced by CRLF in ***file 偶然git add在进行代码提交的时候碰到警告warning: LF will be replaced by CRLF in ***file&#xff0c;原因是编辑的代码内容中…...

云原生之运维监控实践-使用taosKeeper与TDinsight实现对TDengine服务的监测告警

背景 如果没有监控&#xff0c;那么最好的情况是没有问题发生&#xff0c;最糟糕的情况则是问题发生了但没有被发现。——《Prometheus监控实战》 在10月10日收到了 TDengine 官方微信公众号的一条推送&#xff0c;摘要如下&#xff1a; 今天(2024年10月10日)我们非常高兴地宣布…...

前端js,vue系统使用iframe嵌入第三方系统的父子系统的通信

前端js,vue系统使用iframe嵌入第三方系统的父子系统的通信 1&#xff0c;父子系统之间的通信问题 父系统给子系统传值可通过postMessage方式进行通信,postMessage(“传递的数据”,url) 1.1 父系统给子系统的传值 let iframe document.getElementById(childFrame); let o1 {…...

树莓派刷入OpenWrt后扩容overlay的方法

问题&#xff1a; 128G的SD卡刷入openwrt后发现可用空间不足100M&#xff08;我用的squashfs固件&#xff0c;ext4也存在同样的问题&#xff0c;但能否用此方法需要自己尝试一下&#xff09;。 rootOpenWrt:~# df -h Filesystem Size Used Available Use%…...

【JS】Node.js读取execle表格中的数据

在Node.js中读取.xlsx格式的Excel文件&#xff0c;可以使用xlsx库。这个库非常流行且易于使用。下面是一个基本示例&#xff0c;展示如何使用xlsx库读取.xlsx文件中的数据。 首先&#xff0c;你需要安装xlsx库。你可以使用npm来安装&#xff1a; npm install xlsx然后&#x…...

怎么为pdf文件设置密码?几种PDF文件设置密码的方法推荐

怎么为pdf文件设置密码&#xff1f;设置PDF文件密码&#xff0c;正是应对这一挑战的有效手段之一。通过为PDF文件设置密码&#xff0c;我们能够为文档加上一道安全锁&#xff0c;确保只有掌握密码的用户才能打开和查看文件内容。这一措施不仅保护了文档的隐私性&#xff0c;还防…...

Rust : FnOnce、线程池与多策略执行

一、问题&#xff1a;mpsc如何发送各类不同的函数&#xff1f; 3个关键词&#xff1a;闭包、Box与FnOnce&#xff1b;请细品。 use std::sync::{mpsc,Arc,Mutex}; use std::thread; fn process<F>(old:f32,name:String,f:F) where F: FnOnce(f32,String) {f(old,name);…...

一个汉字占几个字节、JS中如何获得一个字符串占用多少字节?

浅浅记录 一个汉字占几个字节&#xff1f;JS中如何获得一个字符串占用多少字节&#xff1f; 一个汉字占几个字节&#xff1f; GBK编码&#xff1a;一个汉字、中文字符都是占2个字节&#xff0c;英文字符占1个字节 UTF-8编码&#xff1a;一个汉字、中文字符都是占3个字节&#…...

CommonJS 和 ES modules

CommonJS 和 ES modules (ESM) 是两种不同的模块系统&#xff0c;它们用于组织 JavaScript 代码&#xff0c;并允许不同文件之间共享代码。 CommonJS (CJS) CommonJS 是最早的 JavaScript 模块化规范之一&#xff0c;主要用于 Node.js 环境中。CommonJS 规定每个文件都是一个…...

计算机网络——CDN

空间编码例子&#xff1a;不是发送N个相同颜色值&#xff0c;而是仅发送2个值&#xff0c;颜色和重复个数 时间编码例子&#xff1a;不是发送i1帧的全部编码&#xff0c;而是仅发送帧i差别的地方 视频播放时&#xff0c;先下载manifest file文件——>解析&#xff08;不…...

大数据治理:挑战与策略

随着信息技术的飞速发展&#xff0c;大数据已成为当今社会的重要资源。大数据治理作为管理和利用大数据的关键手段&#xff0c;对于提升数据质量、保障数据安全、实现数据价值具有重要意义。本文首先阐述了大数据治理的概念和目标&#xff0c;接着分析了大数据治理面临的挑战&a…...

屋面通风器安装方案及流程

屋面通风器的安装方案及流程是一个系统性工作&#xff0c;需要仔细规划和执行&#xff0c;以确保安装质量和通风器的正常运行。昱合昇天窗厂家为大家整理了详细的安装方案及流程&#xff0c;供您参考。一、安装前准备 1、确定安装位置 根据建筑物屋顶结构和通风需求&#xff0c…...

ComfyUI一键更换服装:IP-Adapter V2 + FaceDetailer(DeepFashion)

在这篇文章中&#xff0c;我们将探索如何使用新版的IP-Adapter和ComfyUI软件为人物进行换装。 整个过程非常简单&#xff0c;仅需要两张图片&#xff1a;一张服装图片和一张人物图片。 通过一系列节点的操作&#xff0c;ComfyUI就会把这个服装换到人物身上&#xff0c;并利用…...

AWS账号与亚马逊账号的关系解析

在当今数字化时代&#xff0c;云计算已成为企业和个人用户不可或缺的一部分。亚马逊网络服务&#xff08;AWS&#xff09;是全球领先的云计算平台&#xff0c;而亚马逊&#xff08;Amazon&#xff09;则是全球最大的在线零售商之一。许多人在使用这两个平台时&#xff0c;常常会…...

Java八大基本数据类型详解

引言 一、整数类型 二、 浮点类型 三、.字符类型 四、布尔类型 示例代码 注意事项 引言 在Java编程语言中&#xff0c;基本数据类型是构建程序的基础。了解这些数据类型的特性和使用方法对于编写高效且正确的代码至关重要。本文将详细介绍Java的八大基本数据类型&#xff…...

ChatGPT的终极指南概要

ChatGPT的终极指南概要 [ Prompt Format&#xff08;提示格式&#xff09; 是一种用于指导ChatGPT生成特定类型回答的模板。它通常包括以下几个部分&#xff1a; 角色&#xff08;Role&#xff09;&#xff1a;定义AI模型在Prompt中所扮演的角色&#xff0c;例如专家、顾问、…...

Android应用性能优化的方法

Android应用性能优化是一个复杂而关键的过程&#xff0c;涉及多个方面&#xff0c;包括布局优化、网络优化、安装包优化、内存优化、卡顿优化、启动优化等。以下是对这些优化方法的详细解析&#xff1a; 一、布局优化 布局优化是Android性能优化的基础&#xff0c;主要目标是…...

『网络游戏』客户端发送消息到服务器【17】

将上一章服务器的协议PEProtocol的.dll文件重新生成导入unity客户端中 命名为Net 点击生成 另一种导入.dll文件方式 在客户端粘贴即可 此时Net文件夹的.dll文件就导入进来了 创建脚本&#xff1a;NetSvc.cs 编写脚本&#xff1a;NetSvc.cs 修改脚本&#xff1a;GameRoot.cs 在…...

【系统架构设计师】专题:数据库系统考点梳理

更多内容请见: 备考系统架构设计师-核心总结目录 文章目录 一、数据库基本概念1、数据库技术的发展2、数据模型3、数据库管理系统4、数据库三级模式二、关系数据库1、关系数据库基本概念2、关系运算3、关系数据库设计基本理论三、数据库设计1、数据库设计的基本步骤2、数据需求…...

Java传递对象是值传递还是引用传递?

&#x1f389; 前言 之前一直以为Java传对象是引用传递&#xff0c;直到最近用Java写数据结构链表时遇到一些问题&#xff0c;这才让我重新思考这个问题&#xff0c;经过我的一番研究&#xff0c;发现不能一棒子打死&#xff0c;其实这其中既有值传递&#xff0c;又有引用传递…...

解锁C++多态的魔力:灵活与高效的编码艺术(上)

文章目录 前言&#x1f338;一、多态的定义与概念&#x1f33b;1.1 多态的核心思想&#xff1a;&#x1f33b;1.2 多态的两种主要形式&#xff1a; &#x1f338;二、多态的使用条件&#x1f33b;2.1 基类指针或引用2.1.1 为什么需要基类指针或引用 &#x1f33b;2.2 虚函数&am…...

k8s系列-Rancher 上操作的k8s容器网络配置总结

Rancher 上操作的k8s容器网络配置总结 要在 Rancher 中配置Spring Boot 应用 ykhd-zhjgyw-xpwfxfjfl 服务&#xff0c;正确的配置方式如下&#xff1a; 1. 应用程序监听端口 在 application.yaml 文件中&#xff0c;配置的应用监听端口是 10001&#xff0c;并且应用的上下文…...

2024年【氯化工艺】考试题库及氯化工艺考试内容

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 氯化工艺考试题库根据新氯化工艺考试大纲要求&#xff0c;安全生产模拟考试一点通将氯化工艺模拟考试试题进行汇编&#xff0c;组成一套氯化工艺全真模拟考试试题&#xff0c;学员可通过氯化工艺考试内容全真模拟&…...

从commit校验失效问题探究husky原理

一、背景 之前创建的项目&#xff0c;发现代码 commit 提交的时候没有了任何校验&#xff0c;具体表现&#xff1a; 一是 feat fix 等主题格式校验没有了二是代码 lint 不通过也能提交 尝试解决这个问题&#xff0c;并深入了解husky的实现原理&#xff0c;将相关的一些知识点…...

Azure OpenAI 服务上线具有音频和语音功能的 GPT-4o-Realtime-Preview,免费申请试用

微软宣布 GPT-4o-Realtime-Preview 音频和语音公开预览版的推出&#xff0c;这是对Microsoft Azure OpenAI 服务的重大增强&#xff0c;增加了高级语音功能并扩展了 GPT-4o 的多模式产品。 这一里程碑进一步巩固了 Azure 在人工智能领域的领导地位&#xff0c;尤其是在语音技术…...

基于IMX6UL的EPIT的定时器实验

定时器是最常用的外设&#xff0c;常常需要使用定时器来完成精准的定时功能&#xff0c;I.MX6U 提供了多 种硬件定时器&#xff0c;有些定时器功能非常强大。本章我们从最基本的 EPIT 定时器开始&#xff0c;学习如何配置EPIT 定时器&#xff0c;使其按照给定的时间&#xff0c…...

FreeMarker模板引擎入门:从基础到实践的全面指南

前言 什么是FreeMarker FreeMarker是一个基于模板生成文本输出的通用工具&#xff0c;它使用纯Java编写&#xff0c;能够生成HTML、XML、JSON、RTF、Java源代码等多种格式的文本。FreeMarker模板引擎允许将数据模型与模板文件结合&#xff0c;生成动态的文本输出&#xff0c;广…...

YOLOv8模型改进 第十讲 添加全维度动态卷积(Omni-dimensional Dynamic Convolution,ODConv)

本篇文章将介绍一种全新的改进机制——全维度动态卷积ODConv&#xff0c;并展示其在YOLOv8中的实际应用。现全维动态卷积&#xff08;Omni-dimensional Dynamic Convolution&#xff0c;ODConv&#xff09;是一种先进的动态卷积设计&#xff0c;旨在通过引入多维注意力机制来提…...

【环境搭建】远程服务器搭建ElasticSearch

参考&#xff1a; 非常详细的阿里云服务器安装ElasticSearch过程..._阿里云服务器使用elasticsearch-CSDN博客 服务器平台&#xff1a;AutoDL 注意&#xff1a; 1、切换为非root用户&#xff0c;su 新用户名&#xff0c;否则ES无法启动 2、安装过程中没有出现设置账号密码…...

机器学习与神经网络:诺贝尔物理学奖的新篇章

机器学习与神经网络&#xff1a;诺贝尔物理学奖的新篇章 引言 近日&#xff0c;2024年诺贝尔物理学奖颁发给了机器学习与神经网络领域的研究者&#xff0c;这是历史上的首次。诺贝尔物理学奖通常授予在自然现象和物理物质研究方面做出重大贡献的科学家。然而&#xff0c;今年…...