Git常见命令和用法

Git 文件状态

Git 文件 2 种状态:

  • 未跟踪:新文件,从未被 Git 管理过
  • 已跟踪:Git 已经知道和管理的文件
    在这里插入图片描述

常用命令

命令作用注意
git -v查看 git 版本
git init初始化 git 仓库初始化之后有工作区、暂存区(本地库)、版本库
git add 文件标识暂存某个文件文件标识以终端为起始的相对路径
git add .暂存所有文件
git commit -m’说明注释’提交产生版本记录每次提交,把暂存区内容快照一份
git status查看文件状态-详细信息
git status -s查看文件状态-简略信息第一列是暂存区状态,第二列是工作区状态
git ls-files查看暂存区文件列表
git restore 文件标识从暂存区恢复到工作区如果文件标识为.则恢复所有文件
git rm --cached 文件标识从暂存区移除文件不让 git 跟踪文件变化
git log查看提交记录-详细信息
git loa --oneline查看提交记录-简略信息版本号 分支指针 提交时说明注释
git reflog --oneline查看完整历史-简略消息包括提交,切换,回退等所有记录
git reset 版本号切换版本代码到暂存区和工作区soft 模式保留暂存区和工作区原本内容; hard 模式不保留暂存区和工作区原本内容 ; mixed 模式不保留暂存区,工作区保留(默认)先覆盖到暂存区,再用暂存区对比覆盖工作区
git branch 分支名创建分支
git branch查看本地分支
git branch -d 分支名删除分支请确保记录已经合并到别的分支下,再删除分支
git checkout 分支名切换分支
git checkout -b 分支名创建并立刻切换分支
git merge 分支名把分支提交历史记录合并到当前所在分支
git remote add 远程仓库别名 远程仓库地址添加远程仓库地址别名唯一,地址是.git 结尾的网址
git remote -v查看远程仓库地址
git remote remove 远程仓库别名删除远程仓库地址
git pull 远程仓库别名 分支名拉取完整写法:qit pull 远程仓库别名 远程分支名:本地分支名等价于:git fetch 和 git merge
git push 远程仓库别名 分支名推送完整写法:git push 远程仓库别名 本地分支名:远程分支名-u:建立通道后以后可以简写 git push
git pull --rebase 远程仓库别名 分支名拉取合并合并没有关系的记录
git clone 远程仓库地址克隆从0得到一个远程的Git仓库到本地使用

Git 远程仓库

需求:创建远程版本库,并把本地 Git 仓库推送上去保存
步骤:
1.注册第三方托管平台网站账号
2.新建仓库得到远程仓库 Git 地址
3.本地 Git 仓库添加远程仓库原点地址

git remote add 远程仓库别名远程仓库地址

例如: git remote add origin https://gitee.com/lidongxu/worktest.git

4.本地 Git 仓库推送版本记录到远程仓库

git push -u 远程仓库别名 本地和远程分支名

例如: git push -u origin master

Git 远程仓库-克隆

克隆:拷贝一个 Git 仓库到本地,进行使用

git clone 远程仓库地址

例如:git clone https://gitee.com/lidongxu/work.git
效果:在运行命令所在文件夹,生成 work项目文件夹(包含版本库,并映射到暂存区和工作区)

注意1:Git 本地仓库已经建立好和远程仓库的链接
注意2:仓库公开随意克隆,推送需要身为仓库团队成员

Git 暂存区使用

暂存区:暂时存储,可以临时恢复代码内容,与版本库解耦

暂存区 ->覆盖 ->工作区,命令:git restore 目标文件(注意: 完全确认覆盖时使用)

Git 回退版本

概念:把版本库某个版本对应的内容快照,恢复到工作区/暂存区
查看提交历史: git log–oneline
回退命令:

git reset --soft 版本号(其他文件未跟踪)
git reset --hard 版本号
git reset--mixed 版本号(与 git reset 等价)

soft 回尽可能保留工作区和暂存区的文件
hard 回退回清理工作区和暂存区文件 (日常用的多的模式)
mixed 默认的模式, 工作区会保留,暂存区会被清理

注意1:只有记录在版本库的提交记录才能恢复
注意2:回退后,继续修改->暂存->提交操作即可(产生新的提交记录过程)

分支创建

1、创建分支:

git branch 分支名

2、切换分支:

 git checkout 分支名

本地仓库中的所有分支

 git branch 

暂存本地

git add .
git commit -m '提交测试git'

查看提交的记录

git log --oneline

分支合并

分支-合并与删除
要求 : 把 login-bug 合并回到 master分支并删除login-bug 分支。
步骤:
1.切回到要合入的分支上:git checkout master
2.合并其他分支过来:git merge login-bug
3.删除合并后的分支指针:git branch -d login-bug

分支-合并冲突
需求1:基于 master 新建 publish分支,完成发布文章业务,然后修改内容页面的 html文件的 title 标签,并提交一次。

需求2:切换到 master,也在修改内容页面的 html文件的 title 标签,并提交一次冲突:把 publish 分支合并到 master 回来,产生合并冲突。

概念:不同分支中,对同一个文件的同一部分修改,Git无法干净的合并,产生合并冲突

在执行git merge publish命令的时候会产生冲突。如下
在这里插入图片描述

解决:
1.打开 VSCode 找到冲突文件并手动解决
2.解决后需要提交一次记录
在这里插入图片描述

  • 采用当前更改:当你选择这个选项时,VSCode
    将会保留你的本地更改,并忽略来自其他分支或提交的更改。这通常用于当你认为你的更改是正确的,而远程的更改可以被覆盖的情况
  • 采用传入的更改:相反地,如果你选择这个选项,VSCode
    将会应用来自其他分支或提交的更改,并覆盖你的本地更改。这通常用于当远程更改更重要,或者你需要更新到最新的状态时
  • 保留双方更改:如果你选择保留双方的更改,VSCode 将会在冲突的代码段中包含两个版本的更改。这通常会导致在源代码文件中留下类似
    <<<<<<< HEAD 和 >>>>>>> branch-name 的标记,需要你手动编辑文件以合并这两个版本
  • 比较变更:这个选项允许你在合并之前查看两个更改之间的差异。你可以通过一个内置的差异查看器来对比当前和传入的更改,这有助于你理解冲突的本质并决定如何解决它们。在比较之后,你可以手动选择要保留的部分,或者使用上述选项之一进行自动处理

忽略文件

概念:.gitignore 文件可以让 git 彻底忽略跟踪指定文件
目的:让 git 仓库更小更快,避免重复无意义的文件管理
例如:
1.系统或软件自动生成的文件
2.编译产生的结果文件
3.运行时生成的日志文件,缓存文件,临时文件等
4.涉密文件,密码,秘钥等文件
在这里插入图片描述

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

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

相关文章

如何分析软件测试中发现的Bug!

假如你是一名软件测试工程师&#xff0c;每天面对的就是那些“刁钻”的Bug&#xff0c;它们像是隐藏在黑暗中的敌人&#xff0c;时不时跳出来给你一个“惊喜”。那么&#xff0c;如何才能有效地分析和处理这些Bug&#xff0c;让你的测试工作变得高效且有趣呢&#xff1f;今天我…

Python的语言特性

1&#xff0c;python是动态语言 在编译期间就确定变量类型的语言是静态语言 在运行期间才知道变量类型的是动态语言 2&#xff0c;python是强类型语言 不同类型的变量是否允许隐式转换

院内导航:如何用科技破解就医找路难题

自2019年开始“院内导航”被纳入医院智慧服务评估体系以来&#xff0c;到2023年改善就医服务升级的部署&#xff0c;每一步都见证了我国医疗卫生体系向智能化、人性化迈进的坚实步伐。 面对庞大复杂的医院环境与日益增长的就诊需求&#xff0c;如何让患者在茫茫人海中迅速找到就…

Tita的OKR:公司和CEO的OKR案例

为什么为您的组织选择OKR OKR或目标和关键结果是一种协作性的目标设定工具&#xff0c;被团队和组织用来设定具有挑战性的、雄心勃勃的目标和可衡量的结果&#xff0c;OKR是你跟踪进展、创造一致、鼓励参与可衡量的目标的方式。 OKR可以成为创造一个员工能够有目的的工作环境的…

Nifi内置处理器Processor的开发

Nifi-Processor自定义开发的流程 之前说过&#xff0c;大部分的数据处理&#xff0c;我们可以基于ExcuseGroovyScript处理器&#xff0c;编写Groovy脚本去完成&#xff08;或者Jpython&#xff0c;Js脚本等对应的组件&#xff09;&#xff0c;只能说这是基于Nifi平台的使用层面…

迅为3A5000LoongArch架构核心主板支持国产麒麟、统信、以及实时系统翼辉SylixOS

性能强 采用全国产龙芯3A5000处理器&#xff0c;基于龙芯自主指令系统 (LoongArch)的LA464微结构&#xff0c;并进一步提升频率&#xff0c;降低功耗&#xff0c;优化性能。 桥片 采用龙芯 7A2000&#xff0c;支持PCIE 3.0、USB 3.0和 SATA 3.0.显示接口2 路、HDMI 和1路 VGA&a…

MATLAB数据统计描述和分析

描述性统计就是搜集、整理、加工和分析统计数据&#xff0c; 使之系统化、条理化&#xff0c;以显示出数据资料的趋势、特征和数量关系。它是统计推断的基础&#xff0c;实用性较强&#xff0c;在数学建模的数据描述部分经常使用。 目录 1.频数表和直方图 2 .统计量 3.统计…

基坑安全:自动化监测系统的革新力量

在日新月异的基坑工程领域&#xff0c;基坑安全自动化监测系统犹如一位守护者&#xff0c;以其独特的优势&#xff0c;为工程的安全与质量保驾护航。该系统集先进的测量仪器、计算机技术与现代传感技术于一体&#xff0c;对基坑的围护结构及周边环境进行全方位、高精度的实时监…

00:HAL库的认识

一&#xff1a;HAL库 开发现状&#xff1a; 1&#xff1a;下载 网站&#xff1a; https://www.st.com/zh/embedded-software/stm32cube-mcu-mpu-packages.html 去选择我们的系列 我们使用的是STM32F103C8t6的这个 继续一直向下拉点击这个&#xff1b;之后傻瓜步骤直接可以…

桌面悬浮备忘录哪个好?能在桌面悬浮使用的备忘app

备忘录是我们日常工作和生活中的常用工具&#xff0c;它帮助我们记录重要信息&#xff0c;提醒我们完成各项任务。而将备忘录悬浮在桌面上使用&#xff0c;无疑能进一步提高我们的工作效率。想象一下&#xff0c;在处理复杂的工作任务时&#xff0c;你能够随时在桌面上查看提醒…

30. 梯度下降法及其应用

1. 引言 在深度学习中&#xff0c;损失函数的求解是一个关键步骤。损失函数通常没有解析解&#xff0c;因此需要通过最优化算法来逼近求解。其中&#xff0c;梯度下降法是最常用的优化算法之一。本文将详细介绍梯度下降法的基本概念、理论基础、及其在深度学习中的应用。 2. …

SpringMVC(2)——controller方法参数与html表单对应(请求参数的绑定)

controller方法参数与html表单对应 规则 1. 绑定机制 表单提交的数据都是kv格式的 usernamehaha&password123SpringMVC的参数绑定过程是把表单提交的请求参数&#xff0c;作为控制器中方法的参数进行绑定的&#xff0c;要求&#xff1a;提交表单的name和参数的名称是相同…

Apache Hadoop之历史服务器日志聚集配置

上篇介绍了Apache Hadoop的分布式集群环境搭建&#xff0c;并测试了MapReduce分布式计算案例。但集群历史做了哪些任务&#xff0c;任务执行日志等信息还需要配置历史服务器和日志聚集才能更好的查看。 配置历史服务器 在Yarn中运行的任务产生的日志数据不能查看&#xff0c;…

浅说平面dp(下)

上文链接 最大加权矩形 我们言归正传&#xff0c;首先我们可以想到&#xff0c;这道题其实是要求一个和&#xff0c;那么我们不难想到可以用前缀和来解决&#xff0c;但是这样的时间复杂度过于高了&#xff0c;那么我们怎么办呢&#xff1f;其实我们这里可以用一点最大字段和…

SPI通信协议和W25Q64

前言&#xff1a; STM32中的通信接口&#xff1a; UART 单总线 IIC SPI CAN 1. SPI FLASH W25Q64的关系 SPI:一种通信接口&#xff0c;可以用于和搭载SPI接口的设备通信 FLASH:是一种掉电不丢失的存储 -- 手机8256G的256 单片机 64K512K的512 芯片内部flash&…

c语言数据结构--顺序栈

实验内容&#xff1a; 用顺序存储结构&#xff0c;实现教材定义的栈的基本操作&#xff0c;提供数制转换功能&#xff0c;将输入的十进制整数转换成二进制。 实验步骤&#xff1a; &#xff08;1&#xff09;按照实验要求编写代码&#xff0c;构造顺序栈。 &#xff08;2&am…

【密码学】公钥密码的基本概念

在先前我写的密码学体制文章中谈到&#xff0c;现代密码学分为两大体制&#xff0c;介绍了一些有关对称密码体制诸如流密码和分组密码的内容。本文的主要内容则切换到公钥密码体制&#xff08;又称非对称密码体制&#xff09;&#xff0c;简述了公钥密码体制的基本思想和应用方…

2008年上半年软件设计师【上午题】真题及答案

文章目录 2008年上半年软件设计师上午题--真题2008年上半年软件设计师上午题--答案 2008年上半年软件设计师上午题–真题 2008年上半年软件设计师上午题–答案

微信小程序style动态绑定Object不生效处理方法

渲染的时候style变成了[Object Object] 解决方法: 给Object外面加一个[] <image :style"[imgStyle]" :src"url"></image>

算法学习笔记(8.1)-动态规划入门

目录 问题特性&#xff1a; 最优子结构&#xff1a; 代码示例&#xff1a;&#xff08;动态规划最优子结构&#xff09; 上述最小代价爬楼梯的运行过程&#xff1a; 代码示例&#xff1a; 无后效性&#xff1a; 解析&#xff1a; 具体过程图示如下&#xff1a; 具体的…