Git常见命令--助力开发
git常见命令:
创建初始化仓库:

git 将文件提交到暂存区
git add 文件名
将文件提交到工作区
git commit -m "注释(例如这是发行的版本1)" 文件名
查看状态
如果暂存区没有文件被提交显示:
$ git status On branch master nothing to commit, working tree clean
如果暂存区有文件
$ git status On branch master Changes to be committed:(use "git restore --staged <file>..." to unstage)new file: Demo03.txt
git status
查看日志:
git log
出现的日志信息:

这个就是一时间为标准,由近到远的记录。
对于log他的展示方式和作用有很大的可操作性:
//历史记录过多是,会出现分屏的的效果 下一页:空格 上一页:b 最后一页会显示:end 退出:q
其他的日志展示方式:
-
git log
-
git log --pretty=oneline

-
git log --oneline

-
git log reflog

-
reset:前进或者是后退命令
git reset --hard ****** 就是直接返回指定版本 这个是工作区,暂存区,本地代码仓库都会变。hard是最常用的

-
演示效果:

-
使用命令返回到aaa阶段:

-
mixed参数: 本地库的指针移动的同时,重置暂存区,但是工作区不动
soft参数:
本地库的指针移动的时候,暂存区,工作区都不动
删除文件:
使用命令rm:
直接演示删除的是test.txt文件:

之久就是将操作同步到暂存区和本地库:

将删除的文件开始恢复:

通过这个操作其实我们是可以发现我们的返回时返回的这个时间点,所以文件也是根据时间点截取的。
总结: git diff [文件名] ---》 将工作区中的文件和暂存区中文件进行比较
git diff --->比较工作区中和暂存区中 所有文件的差异
git diff 历史版本 ---》比较暂存区和本地库中内容
分支:
查看分支: git branch -v

创建分支:git branch branch1

切换分支:
git checkout branch1

合并分支并处理冲突:git merge chanch1

出现冲突,因为是在同一个文件的同一行出现的文件修改问题,解决的方法是公司内部沟通解决。
注意现在显示的是合并中,需要将解决之后的文件重新提交。


这个最终的提交是能带有文件的名字的

创建远程库:
使用的是gitHub 他创建远程库的时候,只是按着图形化界面就可以了。
https://github.com/Time-Passer-By-HDK/GitResp2.git这是你自己的远程库的地址。但是这个地址有点长,所以我们的git提供了起别名的方式,
别名:git remote add origin https://www.github/time-passer-by-HDK/GitResp2.git (origin他只是一个别名,这个随便)


fetch:根据这个地址获取数据
推送操作:
push:根据这个地址推送数据
推送:git push origin master (一个是远程库的别名,一个是推送的分支的选择)
克隆操作:
git clone +https://地址
就是将远程操作的数据拉取到本地
并且会为我们创建别名。
邀请加入团队:
如果不是团队中的人,是不可以直接提交代码的,需要项目负责人的拉取,现在拉取的方式还在查找。
如果我们修改之后我们的本地库的数据和远程代码仓库是不一样的,所以就要再次拉取数据.
拉取分为两步:
fetch操作:
git fetch origin master
fetch 这个是抓取的操作,他就只是将数据进行了读取,将文件下载到本地,可以直接合并。并没有直接将数据放置到咱们的工作区。
抓取之后可以去远程库去查看文件时候抓取成功:
git checkout origin/master
如果发现内容正确,就开始合并操作。
merge操作:


其实上面的两部合起来就是pull操作:
git pull origin master
如果是比较慎重的操作的话还是建议使用上面发步的操作,如果代码比较简单可以直接简单的使用pull操作
协同开发操作时的解决冲突的方式(这个是针对一个分支的不同的人的操作):
就是如果是两个人对同一位置进行操作的话,就会产生这个冲突,
如果是冲突的话就是先将远程的拉取下来,在进行修改和上传
还是拉取下来之后认为的选择,之后再上传,只要是解决重入的再commit提交时都是不带文件名的。
跨团队操作:
如果是B公司与A公司合作,首先是将A公司的数据放到自己的远程库中,如果是B的员工提交代码的话,休要A的项目负责人审核。
B公司员工做的事情:
-
进入到账号之后,将A公司的项目的地址输入,之后点击fork操作
-
之后就会出现这个项目,再将这个项目克隆到本地。
-
之后就可以开始自己的工作了
-
之后就是将代码提交到自己的远程库(B公司的)
-
之后就是直接再github操作创建一个新的请求,让A公司审批
-
A的项目负责人审核
现在我们每次的push操作因为再windows系统中因为是有这个凭据管理器,所以不需要每次都输入密码,但是如果是别的系统的话,每次的提交都是需要输入密码的,这个其实是很不方便的。
在实际开发中,我们使用的是SHH的方式:
这个需要我们自己的设置也解决这个问题,
1.首先是进入到用户的主目录中 其实就是~ 这个目录,指令时cd ~

2.之后是执行命令生成一个.shh目录
ssh-keygen -t rsa -C 2827571574@qq.com

输入命令之后进行三次的回车确认,这个其实就是让你去选择使用他的默认值。
之后就会出现这个文件夹
![]()
3.打开文件id_rsa.pub文件,将里面的内容直接复制。
4.打开GitHub,将内容放置到Settings里面。


5.生成密钥之后,开始正常的操作,就是正常的起别名,之后提交什么的
IDEA集成操作:
在使用这个提交时显示错误:
$ git push origin_SHH master ssh: connect to host github.com port 22: Connection timed out fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists.
解决方案:
如果没有配置文件就自己写一个:
vim config
创建一个配置文件,之后换一个端口使用。
Host github.com User git Hostname ssh.github.com PreferredAuthentications publickey IdentityFile ~/.ssh/id_rsa Port 443 Host gitlab.com Hostname altssh.gitlab.com User git Port 443 PreferredAuthentications publickey IdentityFile ~/.ssh/id_rsa
保存退出之后检查是否成功:
这个问题就解决了。

IDEA整合GIT
将Git整合:

将本地库初始化:
点击VCS 之后开始选择创建的工具:

发现文件中已经有了git文件

在创建文件之后弹出窗口,询问时候添加到仓库中:

注意之后是将这个项目添加到暂存区,之后就是简单的提交

在控制台查看数据:

查看日志:

现在只是将代码提交到本地库,并没有提交到远程库,所以现在需要将代码提交到远程库,但是我们还是使用刚刚的远程库的话,就会出现一个问题,这两个库是相关的库,所以在拉取时,他的语法是:
git pull origin master --allow-unrelated-histories 哪个别名随便用,可以直接是地址
git push -u origin master -f 这是推送的命令,添加-f 就是直接覆盖
通过命令之后就可以发现现在的文件夹中出现了所有的文件。
现在信息就是同步的了。
一般在开发中都是先拉取,在进行push操作。
项目中的克隆操作:
在实际开发中我们都是先将项目经理的项目克隆到本地,之后再对于代码进行开发和编写
使用idea的话如何解决版本冲突:
如果出现冲突,会先让你合并,这个具体还是让人选择。这里会出现选项,让开发者选择是选择你的还是选择别人的,这个具体的选择的方式就是自己做主了。
但是如何避免冲突呢:
一般在开发中都是先拉取,在进行push操作。
相关文章:
Git常见命令--助力开发
git常见命令: 创建初始化仓库: git 将文件提交到暂存区 git add 文件名 将文件提交到工作区 git commit -m "注释(例如这是发行的版本1)" 文件名 查看状态 如果暂存区没有文件被提交显示: $ git status On…...
学习整理安装php的uuid扩展以及uuid调用方法
学习整理安装php的uuid扩展以及uuid调用方法 1、安装uuid依赖库2、下载并安装3、ini中添加扩展4、re2c版本报错5、uuid调用方法 1、安装uuid依赖库 yum -y install uuid uuid-devel e2fsprogs-devel libuuid-devel2、下载并安装 点我下载uuid安装包 wget http://pecl.php.ne…...
算法系列之贪心算法
在算法中,贪心算法(Greedy Algorithm)是一种常见的解决优化问题的算法。贪心算法的核心思想是:在每一步选择中都采取当前状态下最优的选择,即贪心的做出局部最优的决策,从而希望最终能够得到全局最优解。尽…...
将产品照片(form.productPhotos)转为 JSON 字符串发送给后端
文章目录 1. 前端 form.productPhotos 的当前处理a. 组件绑定b. 当前发送逻辑 2. 如何将 form.productPhotos 转为 JSON 字符串发送给后端a. 修改前端 save() 方法b. 确保 esave API 支持接收字符串 基于你提供的 identify-form.vue 代码,我将分析如何将产品照片&a…...
『大模型笔记』详细对比GraphRAG与传统RAG!
详细对比GraphRAG与传统RAG! 文章目录 详细对比GraphRAG与传统RAG!要点最终内容1. GraphRAG的作用与应用场景2. GraphRAG与传统RAG的对比3. GraphRAG的工作原理4. GraphRAG如何提高准确性和提供完整答案5. GraphRAG在开发和维护中的优势6. GraphRAG对生产环境的影响7. GraphR…...
安全面试3
文章目录 一个单位的一级域名可能不止一个,怎么收集某个单位的所有域名,注意不是子域名用转义字符防御时,如果遇到数据库的列名或是表名本身就带着特殊字符,应该怎么做宽字节注入原理防御宽字节注入的方法 基于黑白名单的修复&…...
软件测试:1、单元测试
1. 单元测试的基本概念 单元(Unit):软件系统的基本组成单位,可以是函数、模块、方法或类。 单元测试(Unit Testing):对软件单元进行的测试,验证代码的正确性、规范性、安全性和性能…...
球队训练信息管理系统设计与实现(代码+数据库+LW)
摘 要 传统办法管理信息首先需要花费的时间比较多,其次数据出错率比较高,而且对错误的数据进行更改也比较困难,最后,检索数据费事费力。因此,在计算机上安装球队训练信息管理系统软件来发挥其高效地信息处理的作用&a…...
【Bluedroid】AVRCP 连接源码分析(二)
接着上一篇【Bluedroid】AVRCP 连接源码分析(一)-CSDN博客,继续AVRCP连接的源码分析。 getcapabilities_cmd packages/modules/Bluetooth/system/btif/src/btif_rc.cc /***************************************************************************** Function …...
OSS(对象存储服务)
OSS(对象存储服务) 是一种用于存储和管理非结构化数据的云存储服务,其核心设计面向海量数据的高扩展性、高可靠性和低成本存储。以下从定义、核心原理、架构特点和应用场景等方面详细介绍: 一、什么是OSS? OSS&#x…...
《深入理解JVM》实战笔记(二): 类加载机制与类加载器
序言 Java 语言的强大之处之一在于其动态加载的能力,使得 Java 程序可以在运行时加载新的类,而不需要在编译时确定所有的类信息。这一切都离不开 JVM 的类加载机制。本篇博客将详细探讨 JVM 的类加载过程以及类加载器的工作原理,帮助你更深入…...
ChromeDriver下载
平时为了下个驱动,到处找挺麻烦,收集了很多无偿分享给需要的人,仅供学习和交流。 ChromeDriver 102.0.5005.61 ChromeDriver 105.0.5195.102 ChromeDriver 108.0.5359.71 ChromeDriver 111.0.5563.64 ChromeDriver 116.0.5845.97 Chrom…...
《深度学习实战》第1集:深度学习基础回顾与框架选择
本专栏系列博文旨在帮助读者从深度学习的基础知识逐步进阶到前沿技术,涵盖理论、实战和行业应用。每集聚焦一个核心知识点,并结合实际项目进行实践,避免空谈理论,简洁明快,快速切入代码,所有代码都经过验证…...
Docker 部署AnythingLLM
两个指令搞定 1.下载镜像 docker pull mintplexlabs/anythingllm 2.运行容器 export STORAGE_LOCATION$HOME/anythingllm mkdir -p $STORAGE_LOCATION chmod -R 777 $STORAGE_LOCATION touch "$STORAGE_LOCATION/.env" docker run -d -p 3001:3001 \ --cap-add SY…...
泰山派RK3566移植QT,动鼠标时出现屏幕闪烁
总结: 交叉编译到 泰山派rk3566跑调海康摄像头的qt应用程序失败了。 X11无效窗口。 移植QT注意 屏幕分辨率不要改。改了执行QT的时候,framebuffer识别不出设备。 命令行安装QT-Creator sudo install 类似的指令安装Qt-Creator时,可能找不到编…...
关于Java 反射的简单易懂的介绍
目录 #0.总览 #1. 类的反射 ①介绍 ②获取 ③作用 获取构造函数: 创建实例: 字段操作: 方法操作: 获取修饰符: #2.总结 #0.总览 反射,官方是这样介绍它的: Reflection is a …...
市场趋势中突破确认的多维度判断方法
波动率突破策略是众多交易者广泛采用的重要交易策略之一。而在这一策略中,准确判断突破是否有效,是决定交易成败的关键环节。仅仅依据单一因素来确认突破,往往会使交易者陷入误判的困境,导致不必要的损失。因此,采用多…...
网络空间安全(2)应用程序安全
前言 应用程序安全(Application Security,简称AppSec)是一个综合性的概念,它涵盖了应用程序从开发到部署,再到后续维护的整个过程中的安全措施。 一、定义与重要性 定义:应用程序安全是指识别和修复应用程序…...
【MyBatis】CRUD、配置解析、ResultMap、分页实现
目录标题 1、Mybatis简介1.1、什么是MyBatis1.2、持久化1.3、持久层1.4、为什么需要MybatisMyBatis的优点 2.1、代码演示搭建实验数据库导入MyBatis相关 jar 包 03、CRUD操作3.1、namespace3.2、select3.3、insert3.4、update3.5、delete 04、MyBatis配置解析4、配置解析4.3、m…...
Linux系统编程之高级信号处理
概述 在前一篇文章中,我们介绍了signal函数、sigaction函数等基本的信号处理方法。在本篇中,我们将介绍信号处理的一些高级用法,包括:阻塞与解除阻塞、定时器等。 阻塞与解除阻塞 有时候,我们不希望某个信号立即被处理…...
FFmpeg 低延迟同屏方案
引言 在实时互动需求激增的当下,无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作,还是游戏直播的画面实时传输,低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架,凭借其灵活的编解码、数据…...
python/java环境配置
环境变量放一起 python: 1.首先下载Python Python下载地址:Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个,然后自定义,全选 可以把前4个选上 3.环境配置 1)搜高级系统设置 2…...
《通信之道——从微积分到 5G》读书总结
第1章 绪 论 1.1 这是一本什么样的书 通信技术,说到底就是数学。 那些最基础、最本质的部分。 1.2 什么是通信 通信 发送方 接收方 承载信息的信号 解调出其中承载的信息 信息在发送方那里被加工成信号(调制) 把信息从信号中抽取出来&am…...
工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配
AI3D视觉的工业赋能者 迁移科技成立于2017年,作为行业领先的3D工业相机及视觉系统供应商,累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成,通过稳定、易用、高回报的AI3D视觉系统,为汽车、新能源、金属制造等行…...
让AI看见世界:MCP协议与服务器的工作原理
让AI看见世界:MCP协议与服务器的工作原理 MCP(Model Context Protocol)是一种创新的通信协议,旨在让大型语言模型能够安全、高效地与外部资源进行交互。在AI技术快速发展的今天,MCP正成为连接AI与现实世界的重要桥梁。…...
Reasoning over Uncertain Text by Generative Large Language Models
https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829 1. 概述 文本中的不确定性在许多语境中传达,从日常对话到特定领域的文档(例如医学文档)(Heritage 2013;Landmark、Gulbrandsen 和 Svenevei…...
【无标题】路径问题的革命性重构:基于二维拓扑收缩色动力学模型的零点隧穿理论
路径问题的革命性重构:基于二维拓扑收缩色动力学模型的零点隧穿理论 一、传统路径模型的根本缺陷 在经典正方形路径问题中(图1): mermaid graph LR A((A)) --- B((B)) B --- C((C)) C --- D((D)) D --- A A -.- C[无直接路径] B -…...
【Redis】笔记|第8节|大厂高并发缓存架构实战与优化
缓存架构 代码结构 代码详情 功能点: 多级缓存,先查本地缓存,再查Redis,最后才查数据库热点数据重建逻辑使用分布式锁,二次查询更新缓存采用读写锁提升性能采用Redis的发布订阅机制通知所有实例更新本地缓存适用读多…...
代码规范和架构【立芯理论一】(2025.06.08)
1、代码规范的目标 代码简洁精炼、美观,可持续性好高效率高复用,可移植性好高内聚,低耦合没有冗余规范性,代码有规可循,可以看出自己当时的思考过程特殊排版,特殊语法,特殊指令,必须…...
c# 局部函数 定义、功能与示例
C# 局部函数:定义、功能与示例 1. 定义与功能 局部函数(Local Function)是嵌套在另一个方法内部的私有方法,仅在包含它的方法内可见。 • 作用:封装仅用于当前方法的逻辑,避免污染类作用域,提升…...
