git 避免输入用户名 密码 二进制/文本 文件冲突解决
核心概念介绍
工作区是你当前正在进行编辑和修改的文件夹,可见的。
暂存区位于.git/index(git add放入)。
代码库(工作树)位于.git(git commit将暂存区中的更改作为一个提交保存到代码库中,并清空暂存区)
避免输入用户 密码:
方式一:
http协议:
git clone https://username@github.com/username/repository.git
ssh协议:
配置 ssh密钥,免密即可
方式二:
gitcredentials - 为 Git 提供用户名和密码
cache 将内存中的凭据缓存一段时间。 store 无限期地将凭证存储在磁盘上。
echo "http(s)://{你的用户名}:{你的密码}@你的服务器地址" > ~/.git-credentials
git config --global credential.helper store
然后就不需要输入用户名 密码了
另外,git要求您有一个配置设置user.name,以便user.email提交/推送,没有这些配置设置git就无法将作者信息添加到提交中。
git config --global user.name "$WSY_SERVICE_NAME"
git config --global user.email "$WSY_SERVICE_NAME@163.com" //git config user.email 查看设置的信息
diff 比对
git diff 显示本地开发工作中已经修改但未提交至暂存区的文件和已经提交至暂存区文件的修改
git diff HEAD 显示的是已提交到工作树中文件和未提交到工作树中文件的所有修改。查看已缓存的与未缓存的所有改动。
git diff --cached 上一次最后一次提交到工作树中文件(也就是head)与暂存区内文件的改动。查看已缓存的改动。
git diff --name-only --diff-filter=U 缩写-U指定只查看产生冲突的文件
git diff source target 比较俩个分支的差异
合并冲突
git pull origin main == git fetch origin main + git merge origin/main
执行 git pull 命令时,如果当前分支有未提交的更改,Git会提示您先commit提交更改
需要先commit,再merge合并冲突,原因如下:
直接merge 存在冲突会报错, 不会将冲突内容写入文件中(git status/git diff看不到冲突信息),如下所示:
Updating ae32fe4..adb8b80
error: Your local changes to the following files would be overwritten by merge:
aaa.txt
Please commit your changes or stash them before you merge.
Aborting
正确做法:
先commit,然后再merge,存在冲突不会报错,会将冲突内容写入文件中(git status/git diff可看到冲突信息),如下所示
root@saas-node002:/# git merge
Auto-merging aaa.txt
CONFLICT (add/add): Merge conflict in aaa.txt
Automatic merge failed; fix conflicts and then commit the result.
git diff --diff-filter=U --name-only // 缩写-U指定只查看产生冲突的文件
git diff origin/main main -- aa.txt // 查看fetch下来的远端main与本端main的aa.txt差异
git status 显示当前代码库状态信息,包括未提交文件,未解决冲突文件。
合并冲突见下面冲突解决部分。
额外: 强制用远程覆盖本地,不处理冲突
git fetch
git reset --hard origin/main
git pull(git fetch + git merge) 冲突解决:
git add .
git commit -m "xxx" //必须先commit,再merge,否则不会生成如下冲突文件
git fetch && git merge
git merge --no-ff test // --no-ff 避免test分支的提交历史混入到main中,搅乱main的提交历史
1.非二进制文件在发生冲突的文件中,冲突区域有明显的标记
<<<<<<<
yours 你当前工作区的代码
=======
合并过来的代码
>>>>>>> their
1-1.可以vim文件,手动调整解决冲突。
git add filename #将调整后的文件标记为已解决状态
git commit && git merge # 完成合并操作
1-2.或者基于checkout命令选择保留哪个版本的文件
git checkout --theirs conflicted_file.txt # 保留远端的
git checkout --ours conflicted_file.txt # 保留本地的
git add filename #将调整后的文件标记为已解决状态
git commit && git merge # 完成合并操作
2.二进制文件,Git不会尝试合并文件本身。本地文件保持不变。为了解决冲突,可使用checkout命令选择保留哪个版本的文件。
使用 git status 命令检查有冲突的文件列表。
git cat-file -s origin/main:action.png //查看fetch下来的远端的文件大小
git cat-file -s main:action.png //查看本地文件大小
git cat-file -p main:action.png //cat-file查看本地文件内容。(二进制文件推荐用cat-file)
git show main:aaa.txt //show查看本地文件内容 (会根据对象的类型进行一些处理和解释。对于文本文件,它会尝试以可读的文本形式显示文件内容;对于二进制文件,它默认会以十六进制字符的形式显示内容)
git checkout --theirs conflicted_file.txt # 保留远端的
git checkout --ours conflicted_file.txt # 保留本地的
git add filename # 将已解决的文件标记为已解决状态
git commit && git merge
相关文章:
git 避免输入用户名 密码 二进制/文本 文件冲突解决
核心概念介绍 工作区是你当前正在进行编辑和修改的文件夹,可见的。 暂存区位于.git/index(git add放入)。 代码库(工作树)位于.git(git commit将暂存区中的更改作为一个提交保存到代码库中,并清空暂存区) 避免输入用户 密码: 方式一: ht…...
[OpenWrt]RAX3000一根线实现上网和看IPTV
背景: 1.我家电信宽带IPTV 2.入户光猫,桥接模式 3.光猫划分vlan,将上网信号IPTV信号,通过lan口(问客服要光猫超级管理员密码,具体教程需要自行查阅,关键是要设置iptv在客户侧的vlan id&#…...
最新50万字312道Java经典面试题52道场景题总结(附答案PDF)
最近有很多粉丝问我,有什么方法能够快速提升自己,通过阿里、腾讯、字节跳动、京东等互联网大厂的面试,我觉得短时间提升自己最快的手段就是背面试题;花了3个月的时间将市面上所有的面试题整理总结成了一份50万字的300道Java高频面…...
html.parser --- 简单的 HTML 和 XHTML 解析器
源代码: Lib/html/parser.py 这个模块定义了一个 HTMLParser 类,为 HTML(超文本标记语言)和 XHTML 文本文件解析提供基础。 class html.parser.HTMLParser(*, convert_charrefsTrue) 创建一个能解析无效标记的解析器实例。 如果…...
赵传和源代码就是设计-UMLChina建模知识竞赛第4赛季第23轮
参考潘加宇在《软件方法》和UMLChina公众号文章中发表的内容作答。在本文下留言回答。 只要最先答对前3题,即可获得本轮优胜。第4题为附加题,对错不影响优胜者的判定,影响的是优胜者的得分。 所有题目的回答必须放在同一条消息中࿰…...
Leaflet.Graticule源码分析以及经纬度汉化展示
目录 前言 一、源码分析 1、类图设计 2、时序调用 3、调用说明 二、经纬度汉化 1、改造前 2、汉化 3、改造效果 总结 前言 在之前的博客基于Leaflet的Webgis经纬网格生成实践中,已经深入介绍了Leaflet.Graticule的实际使用方法和进行了简单的源码分析。认…...
html 中vue3 的setup里调用element plus的弹窗 提示
引入Elementplus之后,在setup()方法外面导入ElMessageBox const {ElMessageBox} ElementPlus 源码 : <!DOCTYPE html> <html> <head><meta charset"UTF-8"><!-- import Vue before Elemen…...
对话系统之解码策略(Top-k Top-p Temperature)
一、案例分析 在自然语言任务中,我们通常使用一个预训练的大模型(比如GPT)来根据给定的输入文本(比如一个开头或一个问题)生成输出文本(比如一个答案或一个结尾)。为了生成输出文本,…...
《面向机器学习的数据标注规程》摘录
说明:本文使用的标准是2019年的团体标准,最新的国家标准已在2023年发布。 3 术语和定义 3.2 标签 label 标识数据的特征、类别和属性等。 3.4 数据标注员 data labeler 对待标注数据进行整理、纠错、标记和批注等操作的工作人员。 【批注】按照定义…...
VGG(pytorch)
VGG:达到了传统串型结构深度的极限 学习VGG原理要了解CNN感受野的基础知识 model.py import torch.nn as nn import torch# official pretrain weights model_urls {vgg11: https://download.pytorch.org/models/vgg11-bbd30ac9.pth,vgg13: https://download.pytorch.org/mo…...
celery/schedules.py源码精读
BaseSchedule类 基础调度类,它定义了一些调度任务的基本属性和方法。以下是该类的主要部分的解释: __init__(self, nowfun: Callable | None None, app: Celery | None None):初始化方法,接受两个可选参数,nowfun表…...
单片机上位机(串口通讯C#)
一、简介 用C#编写了几个单片机上位机模板。可定制!!! 二、效果图...
初识Flask
摆上中文版官方文档网站:https://flask.github.net.cn/quickstart.html 开启实验之路~~~~~~~~~~~~~ from flask import Flaskapp Flask(__name__) # 使用修饰器告诉flask触发函数的URL,绑定URL,后面的函数用于返回用户在浏览器上看到的内容…...
JeecgBoot jmreport/queryFieldBySql RCE漏洞复现
0x01 产品简介 Jeecg Boot(或者称为 Jeecg-Boot)是一款基于代码生成器的开源企业级快速开发平台,专注于开发后台管理系统、企业信息管理系统(MIS)等应用。它提供了一系列工具和模板,帮助开发者快速构建和部署现代化的 Web 应用程序。 0x02 漏洞概述 Jeecg Boot jmrepo…...
机器学习---模型评估
1、混淆矩阵 对以上混淆矩阵的解释: P:样本数据中的正例数。 N:样本数据中的负例数。 Y:通过模型预测出来的正例数。 N:通过模型预测出来的负例数。 True Positives:真阳性,表示实际是正样本预测成正样…...
【机器学习】应用KNN实现鸢尾花种类预测
目录 前言 一、K最近邻(KNN)介绍 二、鸢尾花数据集介绍 三、鸢尾花数据集可视化 四、鸢尾花数据分析 总结 🌈嗨!我是Filotimo__🌈。很高兴与大家相识,希望我的博客能对你有所帮助。 💡本文由Fil…...
ACL和NAT
目录 一.ACL 1.概念 2.原理 3.应用 4.种类 5.通配符 1.命令 2.区别 3.例题 4.应用原则 6.实验 1.实验目的 2.实验拓扑 3.实验步骤 7.实验拓展 1.实验目的 2.实验步骤 3.测试 二.NAT 1.基本理论 2.作用 3.分类 静态nat 动态nat NATPT NAT Sever Easy-IP…...
MX6ULL学习笔记(十二)Linux 自带的 LED 灯
前言 前面我们都是自己编写 LED 灯驱动,其实像 LED 灯这样非常基础的设备驱动,Linux 内 核已经集成了。Linux 内核的 LED 灯驱动采用 platform 框架,因此我们只需要按照要求在设备 树文件中添加相应的 LED 节点即可,本章我们就来学…...
Qt容器QToolBox工具箱
# QToolBox QToolBox是Qt框架中的一个窗口容器类,常用的几个函数有: setCurrentIndex(int index):设置当前显示的页面索引。可以通过调用该函数,将指定索引的页面设置为当前显示的页面。 addItem(QWidget * widget, const QString & text):向QToolBox中添加一个页面…...
华为实训课笔记
华为实训 12/1312/14 12/13 ping 基于ICMP协议,用来进行可达性测试 ping 目的IP地址/设备域名(主机名) 如果能收到 reply 回复,则表示双方可以正常通信 <Huawei> 用户视图,只能做查询和一些简单的资源调用&…...
基于java 的经济开发区管理系统设计与实现(源码+调试)
项目描述 临近学期结束,还是毕业设计,你还在做java程序网络编程,期末作业,老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。今天给大家介绍一篇基于java 的经济开发区管…...
外包干了3个月,技术退步明显。。。
先说一下自己的情况,本科生生,19年通过校招进入广州某软件公司,干了接近4年的功能测试,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测…...
详细教程 - 从零开发 Vue 鸿蒙harmonyOS应用 第一节
关于使用Vue开发鸿蒙应用的教程,我这篇之前的博客还不够完整和详细。那么这次我会尝试写一个更加完整和逐步的指南,从环境准备,到目录结构,再到关键代码讲解,以及调试和发布等,希望可以让大家详实地掌握这个过程。 一、准备工作 下载安装 DevEco Studio 下载地址:…...
R语言对医学中的自然语言(NLP)进行机器学习处理(1)
什么是自然语言(NLP),就是网络中的一些书面文本。对于医疗方面,例如医疗记录、病人反馈、医生业绩评估和社交媒体评论,可以成为帮助临床决策和提高质量的丰富数据来源。如互联网上有基于文本的数据(例如,对医疗保健提供者的社交媒体评论),这些数据我们可…...
什么是CI/CD?如何在PHP项目中实施CI/CD?
CI/CD(持续集成/持续交付或持续部署)是一种软件开发和交付方法,它旨在通过自动化和持续集成来提高开发速度和交付质量。以下是CI/CD的基本概念和如何在PHP项目中实施它的一般步骤: 持续集成(Continuous Integration -…...
玩转Docker(四):容器指令、生命周期、资源限制、容器化支持、常用命令
文章目录 一、容器指令1.运行2.启动/停止/重启3.暂停/恢复4.删除 二、生命周期三、资源限制1.内存限额2.CPU限额3.磁盘读写带宽限额 四、cgroup和namespace五、常用命令 一、容器指令 1.运行 按用途容器大致可分为两类:服务类容器和工具类的容器。 服务类容器&am…...
回归预测 | MATLAB实现CHOA-BiLSTM黑猩猩优化算法优化双向长短期记忆网络回归预测 (多指标,多图)
回归预测 | MATLAB实现CHOA-BiLSTM黑猩猩优化算法优化双向长短期记忆网络回归预测 (多指标,多图) 目录 回归预测 | MATLAB实现CHOA-BiLSTM黑猩猩优化算法优化双向长短期记忆网络回归预测 (多指标,多图)效果…...
Qt/C++视频监控安卓版/多通道显示视频画面/录像存储/视频播放安卓版/ffmpeg安卓
一、前言 随着监控行业的发展,越来越多的用户场景是需要在手机上查看监控,而之前主要的监控系统都是在PC端,毕竟PC端屏幕大,能够看到的画面多,解码性能也强劲。早期的手机估计性能弱鸡,而现在的手机性能不…...
【docker】容器使用(Nginx 示例)
查看 Docker 客户端命令选项 docker上面这三张图都是 常用命令: run 从映像创建并运行新容器exec 在运行的容器中执行命令ps 列出容器build 从Dockerfile构建映像pull 从注册表下载图像push 将图像上载到注册表…...
【QT】时间日期与定时器
目录 1.时间日期相关的类 2.日期时间数据与字符串之间的转换 2.1 时间、日期编辑器属性设置 2.2 日期时间数据的获取与转换为字符串 2.3 字符串转换为日期时间 3.QCaIendarWidget日历组件 3.1基本属性 3.2 公共函数 3.3 信号 4.实例程序演示时间日期与定时器的使用 …...
家具行业网站建设/怎么免费搭建自己的网站
centos7安装完成后没有网络1、查看网卡信息:命令:lspci | grep -i ethernet网卡信息:Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller (rev 05)2、下载网卡驱动( Index of /elrepo/elrepo/el7/x…...
建德建设局网站/软文推广的好处
我们在进行程序的界面设计时,常常希望将位图的关键部分,也既是图像的前景显示在界面上,而将位图的背景隐藏起来,将位图与界面很自然的融合在一起,本实例介绍了透明位图的制作知识,并将透明位图在一个对话框…...
优秀音乐网站设计欣赏/百度客服人工电话24
每次把虚拟机关机后,网络就可以通了,但是很多时候,我们需要它能在我们下次再来的时候能够保持原样。 我的虚拟机是ubuntu操作系统,所以打开终端 输入命令:vim /etc/network/interfaces 然后发现自己没有权限 这时候…...
金藏源电商网站建设多少钱/腾讯企点下载
要想在你的view或者viewController中实现长按弹出菜单栏你必须要调用becomeFirstResponder方法,其次要实现canBecomeFirstResponder方法,并返回YES. #import "ViewController.h"interface ViewController ()property(nonatomic,strong)UILabel…...
能自己做效果图的网站/百度seo优化排名如何
题目传送门 题目大意: 同这题,但是对于 111 ~ mmm 内的每个 nnn 都要求解,且 m≤5105m\leq 5\times 10^5m≤5105。 题解 先不考虑顺序,最后乘 n!n!n! 即可。 每个元素之多选一个,要选出 nnn 个来,且贡献…...
南充商城网站建设/win7优化大师
屏幕的有效宽高: window.screen.availHeight window.screen.availWidth 网页可见区域宽:document.body.clientWidth 网页可见区域高:document.body.clientHeight 网页可见区域宽:document.body.offsetWidth (包括边线的宽) 网页…...