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

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公司员工做的事情:

  1. 进入到账号之后,将A公司的项目的地址输入,之后点击fork操作

  2. 之后就会出现这个项目,再将这个项目克隆到本地。

  3. 之后就可以开始自己的工作了

  4. 之后就是将代码提交到自己的远程库(B公司的)

  5. 之后就是直接再github操作创建一个新的请求,让A公司审批

  6. 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常见命令&#xff1a; 创建初始化仓库&#xff1a; git 将文件提交到暂存区 git add 文件名 将文件提交到工作区 git commit -m "注释&#xff08;例如这是发行的版本1&#xff09;" 文件名 查看状态 如果暂存区没有文件被提交显示&#xff1a; $ 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…...

算法系列之贪心算法

在算法中&#xff0c;贪心算法&#xff08;Greedy Algorithm&#xff09;是一种常见的解决优化问题的算法。贪心算法的核心思想是&#xff1a;在每一步选择中都采取当前状态下最优的选择&#xff0c;即贪心的做出局部最优的决策&#xff0c;从而希望最终能够得到全局最优解。尽…...

将产品照片(form.productPhotos)转为 JSON 字符串发送给后端

文章目录 1. 前端 form.productPhotos 的当前处理a. 组件绑定b. 当前发送逻辑 2. 如何将 form.productPhotos 转为 JSON 字符串发送给后端a. 修改前端 save() 方法b. 确保 esave API 支持接收字符串 基于你提供的 identify-form.vue 代码&#xff0c;我将分析如何将产品照片&a…...

『大模型笔记』详细对比GraphRAG与传统RAG!

详细对比GraphRAG与传统RAG! 文章目录 详细对比GraphRAG与传统RAG!要点最终内容1. GraphRAG的作用与应用场景2. GraphRAG与传统RAG的对比3. GraphRAG的工作原理4. GraphRAG如何提高准确性和提供完整答案5. GraphRAG在开发和维护中的优势6. GraphRAG对生产环境的影响7. GraphR…...

安全面试3

文章目录 一个单位的一级域名可能不止一个&#xff0c;怎么收集某个单位的所有域名&#xff0c;注意不是子域名用转义字符防御时&#xff0c;如果遇到数据库的列名或是表名本身就带着特殊字符&#xff0c;应该怎么做宽字节注入原理防御宽字节注入的方法 基于黑白名单的修复&…...

软件测试:1、单元测试

1. 单元测试的基本概念 单元&#xff08;Unit&#xff09;&#xff1a;软件系统的基本组成单位&#xff0c;可以是函数、模块、方法或类。 单元测试&#xff08;Unit Testing&#xff09;&#xff1a;对软件单元进行的测试&#xff0c;验证代码的正确性、规范性、安全性和性能…...

球队训练信息管理系统设计与实现(代码+数据库+LW)

摘 要 传统办法管理信息首先需要花费的时间比较多&#xff0c;其次数据出错率比较高&#xff0c;而且对错误的数据进行更改也比较困难&#xff0c;最后&#xff0c;检索数据费事费力。因此&#xff0c;在计算机上安装球队训练信息管理系统软件来发挥其高效地信息处理的作用&a…...

【Bluedroid】AVRCP 连接源码分析(二)

接着上一篇【Bluedroid】AVRCP 连接源码分析(一)-CSDN博客,继续AVRCP连接的源码分析。 getcapabilities_cmd packages/modules/Bluetooth/system/btif/src/btif_rc.cc /***************************************************************************** Function …...

OSS(对象存储服务)

OSS&#xff08;对象存储服务&#xff09; 是一种用于存储和管理非结构化数据的云存储服务&#xff0c;其核心设计面向海量数据的高扩展性、高可靠性和低成本存储。以下从定义、核心原理、架构特点和应用场景等方面详细介绍&#xff1a; 一、什么是OSS&#xff1f; OSS&#x…...

《深入理解JVM》实战笔记(二): 类加载机制与类加载器

序言 Java 语言的强大之处之一在于其动态加载的能力&#xff0c;使得 Java 程序可以在运行时加载新的类&#xff0c;而不需要在编译时确定所有的类信息。这一切都离不开 JVM 的类加载机制。本篇博客将详细探讨 JVM 的类加载过程以及类加载器的工作原理&#xff0c;帮助你更深入…...

ChromeDriver下载

平时为了下个驱动&#xff0c;到处找挺麻烦&#xff0c;收集了很多无偿分享给需要的人&#xff0c;仅供学习和交流。 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集:深度学习基础回顾与框架选择

本专栏系列博文旨在帮助读者从深度学习的基础知识逐步进阶到前沿技术&#xff0c;涵盖理论、实战和行业应用。每集聚焦一个核心知识点&#xff0c;并结合实际项目进行实践&#xff0c;避免空谈理论&#xff0c;简洁明快&#xff0c;快速切入代码&#xff0c;所有代码都经过验证…...

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,动鼠标时出现屏幕闪烁

总结&#xff1a; 交叉编译到 泰山派rk3566跑调海康摄像头的qt应用程序失败了。 X11无效窗口。 移植QT注意 屏幕分辨率不要改。改了执行QT的时候&#xff0c;framebuffer识别不出设备。 命令行安装QT-Creator sudo install 类似的指令安装Qt-Creator时&#xff0c;可能找不到编…...

关于Java 反射的简单易懂的介绍

目录 #0.总览 #1. 类的反射 ①介绍 ②获取 ③作用 获取构造函数&#xff1a; 创建实例&#xff1a; 字段操作&#xff1a; 方法操作&#xff1a; 获取修饰符&#xff1a; #2.总结 #0.总览 反射&#xff0c;官方是这样介绍它的&#xff1a; Reflection is a …...

市场趋势中突破确认的多维度判断方法

波动率突破策略是众多交易者广泛采用的重要交易策略之一。而在这一策略中&#xff0c;准确判断突破是否有效&#xff0c;是决定交易成败的关键环节。仅仅依据单一因素来确认突破&#xff0c;往往会使交易者陷入误判的困境&#xff0c;导致不必要的损失。因此&#xff0c;采用多…...

网络空间安全(2)应用程序安全

前言 应用程序安全&#xff08;Application Security&#xff0c;简称AppSec&#xff09;是一个综合性的概念&#xff0c;它涵盖了应用程序从开发到部署&#xff0c;再到后续维护的整个过程中的安全措施。 一、定义与重要性 定义&#xff1a;应用程序安全是指识别和修复应用程序…...

【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系统编程之高级信号处理

概述 在前一篇文章中&#xff0c;我们介绍了signal函数、sigaction函数等基本的信号处理方法。在本篇中&#xff0c;我们将介绍信号处理的一些高级用法&#xff0c;包括&#xff1a;阻塞与解除阻塞、定时器等。 阻塞与解除阻塞 有时候&#xff0c;我们不希望某个信号立即被处理…...

高效批量歌词解决方案:LRCGet实现离线音乐库的智能歌词管理

高效批量歌词解决方案&#xff1a;LRCGet实现离线音乐库的智能歌词管理 【免费下载链接】lrcget Utility for mass-downloading LRC synced lyrics for your offline music library. 项目地址: https://gitcode.com/gh_mirrors/lr/lrcget LRCGet是一款专为离线音乐爱好者…...

别再瞎调了!Fluent瞬态计算时间步长设置保姆级指南(附自适应步长技巧)

Fluent瞬态计算时间步长设置&#xff1a;从理论到实战的完整避坑手册 刚接触CFD瞬态模拟时&#xff0c;最令人头疼的莫过于时间步长的设置——太小了计算效率低下&#xff0c;太大了结果失真。我曾见过一位工程师为了模拟10秒的流动现象&#xff0c;设置了0.001秒的时间步长&am…...

手把手教你用ESP32和ST7735S屏显示图片(MicroPython版,附完整接线与代码)

手把手教你用ESP32和ST7735S屏显示图片&#xff08;MicroPython版&#xff0c;附完整接线与代码&#xff09; 第一次拿到ESP32开发板和ST7735S屏幕时&#xff0c;那种既兴奋又忐忑的心情至今记忆犹新。兴奋的是终于可以动手实现硬件项目&#xff0c;忐忑的是面对密密麻麻的引脚…...

魔兽争霸3终极优化指南:5分钟让经典游戏在现代电脑上完美运行

魔兽争霸3终极优化指南&#xff1a;5分钟让经典游戏在现代电脑上完美运行 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 还在为魔兽争霸3在现代电脑上…...

终极Windows任务栏透明美化指南:TranslucentTB让你的桌面焕然一新

终极Windows任务栏透明美化指南&#xff1a;TranslucentTB让你的桌面焕然一新 【免费下载链接】TranslucentTB A lightweight utility that makes the Windows taskbar translucent/transparent. 项目地址: https://gitcode.com/gh_mirrors/tr/TranslucentTB 你是否厌倦…...

终极Intel/AMD硬件调优指南:解锁被封印的处理器性能潜力

终极Intel/AMD硬件调优指南&#xff1a;解锁被封印的处理器性能潜力 【免费下载链接】Universal-x86-Tuning-Utility Unlock the full potential of your Intel/AMD based device. 项目地址: https://gitcode.com/gh_mirrors/un/Universal-x86-Tuning-Utility 你是否曾为…...

EF Core 10向量扩展生产就绪 checklist(含A/B测试分流、向量维度漂移监控、fallback降级开关)

第一章&#xff1a;EF Core 10向量扩展生产就绪全景概览EF Core 10 向量扩展&#xff08;Vector Extensions&#xff09;并非官方内置功能&#xff0c;而是由社区驱动、经微软认可的高性能向量计算增强方案&#xff0c;专为 AI 原生应用与嵌入式相似性搜索场景设计。它深度集成…...

ESP32 ADC电压测量不准?3个校准技巧让你的数据更精准

ESP32 ADC电压测量不准&#xff1f;3个校准技巧让你的数据更精准 在物联网和嵌入式开发领域&#xff0c;ESP32凭借其出色的性价比和丰富的功能接口&#xff0c;已成为众多硬件项目的首选。然而&#xff0c;当涉及到模拟信号采集时&#xff0c;不少开发者都遇到了一个共同的痛点…...

STM32F407 RTC入侵检测实战:用按键模拟入侵事件(附消抖技巧)

STM32F407 RTC入侵检测实战&#xff1a;用按键模拟入侵事件&#xff08;附消抖技巧&#xff09; 在嵌入式系统开发中&#xff0c;实时时钟&#xff08;RTC&#xff09;模块的安全功能往往被忽视&#xff0c;而入侵检测恰恰是保护关键数据免遭篡改的最后一道防线。本文将带您深入…...

浙江大学毕业论文LaTeX模板:学术写作的终极效率工具

浙江大学毕业论文LaTeX模板&#xff1a;学术写作的终极效率工具 【免费下载链接】zjuthesis Zhejiang University Graduation Thesis LaTeX Template 项目地址: https://gitcode.com/gh_mirrors/zj/zjuthesis 在浙江大学学术写作的旅途中&#xff0c;你是否曾为论文格式…...