Git常见命令--助力开发

news2025/2/24 6:11:13

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操作。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2304229.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

一:将windows上的Python项目部署到Linux上,并使用公网IP访问

windows中python的版本&#xff1a;python3.13.1&#xff0c;项目使用的是虚拟环境解释器 linux系统&#xff1a;仅有python3.6.7 服务器&#xff1a;阿里云服务器有公网IP&#xff0c;访问端口XXXX 在linux上安装python3.13.1 linux中如果是超级管理员root&#xff0c;执行所…

【数据标准】数据标准化是数据治理的基础

导读&#xff1a;数据标准化是数据治理的基石&#xff0c;它通过统一数据格式、编码、命名与语义等&#xff0c;全方位提升数据质量&#xff0c;确保准确性、完整性与一致性&#xff0c;从源头上杜绝错误与冲突。这不仅打破部门及系统间的数据壁垒&#xff0c;极大促进数据共享…

计算机视觉:经典数据格式(VOC、YOLO、COCO)解析与转换(附代码)

第一章&#xff1a;计算机视觉中图像的基础认知 第二章&#xff1a;计算机视觉&#xff1a;卷积神经网络(CNN)基本概念(一) 第三章&#xff1a;计算机视觉&#xff1a;卷积神经网络(CNN)基本概念(二) 第四章&#xff1a;搭建一个经典的LeNet5神经网络(附代码) 第五章&#xff1…

七星棋牌顶级运营产品全开源修复版源码教程:6端支持,200+子游戏玩法,完整搭建指南(含代码解析)

棋牌游戏一直是移动端游戏市场中极具竞争力和受欢迎的品类&#xff0c;而七星棋牌源码修复版无疑是当前行业内不可多得的高质量棋牌项目之一。该项目支持 6大省区版本&#xff08;湖南、湖北、山西、江苏、贵州&#xff09;&#xff0c;拥有 200多种子游戏玩法&#xff0c;同时…

编程考古-忘掉它,Delphi 8 for the Microsoft .NET Framework

忘掉它吧&#xff0c;作一篇记录&#xff01; 【圣何塞&#xff0c;加利福尼亚 – 2003年11月3日】在今日的Borland开发者大会上&#xff0c;Borland正式推出了Delphi 8 for Microsoft .NET Framework。这款新版本旨在为Delphi开发者提供一个无缝迁移路径&#xff0c;将现有的…

[通俗易懂C++]:指针和const

之前的文章有说过,使用指针我们可以改变指针指向的内容(通过给指针赋一个新的地址)或者改变被保存地址的值(通过给解引用指针赋一个新值): int main() {int x { 5 }; // 创建一个整数变量 x&#xff0c;初始值为 5int* ptr { &x }; // 创建一个指针 ptr&#xff0c;指向 …

大一高数(上)速成:导数和微分

目录 1.分段函数的可导性&#xff1a; 2.隐函数求导: 3.参数方程求导: 4.对数求导法: 5.函数的微分: 1.分段函数的可导性&#xff1a; 2.隐函数求导: 3.参数方程求导: 4.对数求导法: 5.函数的微分:

京东cfe滑块 分析

声明: 本文章中所有内容仅供学习交流使用&#xff0c;不用于其他任何目的&#xff0c;抓包内容、敏感网址、数据接口等均已做脱敏处理&#xff0c;严禁用于商业用途和非法用途&#xff0c;否则由此产生的一切后果均与作者无关&#xff01; 逆向分析 headers {"accept&qu…

react 踩坑记 too many re-renders.

报错信息&#xff1a; too many re-renders. React limits the number of randers to prevent an infinite loop. 需求 tabs只有特定标签页才展示某些按钮 button要用 传递函数引用方式 ()>{} *还有要注意子组件内loading触发 导致的重复渲染

BGP分解实验·19——BGP选路原则之起源

当用不同的方式为BGP注入路由时&#xff0c;起源代码将标识路由的来源。 &#xff08;在BGP表中&#xff0c;Network为“i”&#xff0c;重分布是“&#xff1f;”&#xff09; 实验拓扑如下&#xff1a; R2上将来自IGP的路由10.3.3.3/32用network指令注入BGP;在R4上将来自I…

单机上使用docker搭建minio集群

单机上使用docker搭建minio集群 1.集群安装1.1前提条件1.2步骤指南1.2.1安装 Docker 和 Docker Compose&#xff08;如果尚未安装&#xff09;1.2.2编写docker-compose文件1.2.3启动1.2.4访问 2.使用2.1 mc客户端安装2.2创建一个连接2.3简单使用下 这里在ubuntu上单机安装一个m…

家用路由器的WAN口和LAN口有什么区别

今时今日&#xff0c;移动终端盛行的时代&#xff0c;WIFI可以说是家家户户都有使用到的网络接入方式。那么路由器当然也就是家家户户都不可或缺的设备了。而路由器上的两个实现网络连接的基础接口 ——WAN 口和 LAN 口&#xff0c;到底有什么区别&#xff1f;它们的功能和作用…

实操解决Navicat连接postgresql时出现‘datlastsysoid does not exist‘报错的问题

1 column “datlastsysoid“ does not exist2 Line1:SELECT DISTINCT datalastsysoid FROM pg_database问题分析 Postgres 15 从pg_database表中删除了 datlastsysoid 字段引发此错误。 决绝方案 解决方法1&#xff1a;升级navicat 解决方法2&#xff1a;降级pgsql 解决方…

3分钟idea接入deepseek

DeepSeek简介 DeepSeek 是杭州深度求索人工智能基础技术研究有限公司开发的一系列大语言模型&#xff0c;背后是知名量化资管巨头幻方量化3。它专注于开发先进的大语言模型和相关技术&#xff0c;拥有多个版本的模型&#xff0c;如 DeepSeek-LLM、DeepSeek-V2、DeepSeek-V3 等&…

树莓派理想二极管电路分析

如果 Vin Vout&#xff0c;比如说 5.0V&#xff0c;PNP 晶体管以当前的镜像配置偏置。晶体管 U14 的 Vb 将为 5-0.6 4.4V&#xff0c;镜像配置意味着 Vg 也将为 4.4V. Vgs 为4.4-5.0 -0.6V。mosfet 将处于关闭状态&#xff08;几乎打开&#xff09;。如果 Vout 略低于 Vin&a…

Unity贴图与模型相关知识

一、贴图 1.贴图的类型与形状 贴图类型 贴图形状 2.在Unity中可使用一张普通贴图来生成对应的法线贴图&#xff08;但并不规范&#xff09; 复制一张该贴图将复制后的贴图类型改为Normal Map 3.贴图的sRGB与Alpha sRGB&#xff1a;勾选此选项代表此贴图存储于Gamma空间中…

Linux--进程(进程虚拟地址空间、页表、进程控制、实现简易shell)

一、进程虚拟地址空间 这里以kernel 2.6.32&#xff0c;32位平台为例。 1.空间布局 在 32 位系统中&#xff0c;虚拟地址空间大小为 4GB。其中&#xff1a; 内核空间&#xff1a;占据高地址的 1GB &#xff0c;用于操作系统内核运行&#xff0c;包含内核代码、内核数据等&am…

中间件专栏之redis篇——redis基本原理、概念及其相关命令介绍

一、redis是什么 redis是remote dictionary service的简称&#xff0c;中文翻译为远程字典服务&#xff1b; redis是一种数据库&#xff0c;若按照类型来归类&#xff0c;则其可以被归入三个类型数据库&#xff0c;分别为&#xff1a;内存数据库、KV数据库、数据结构数据库&a…

在列线图上标记做为线性模型的局部解释

改造列线图做为线性模型的解释 除了使用列线图算法产生的meta数据和score数据进行线性模型的解释&#xff08;全局性解释和局部性解释&#xff09;&#xff0c;另外一种做法是改造列线图来作为线性模型的解释。这里尝试改造列线图来对线性模型进行全局性和局部性解释。 全局…

KubeKey一键安装部署k8s集群和KubeSphere详细教程

目录 一、KubeKey简介 二、k8s集群KubeSphere安装 集群规划 硬件要求 Kubernetes支持版本 操作系统要求 SSH免密登录 配置集群时钟 所有节点安装依赖 安装docker DNS要求 存储要求 下载 KubeKey 验证KubeKey 配置集群文件 安装集群 验证命令 登录页面 一、Ku…