git原理和常用命令

news2024/12/26 11:10:17

git

  • git介绍
    • git工作流程
    • git的几个核心概念
  • git常用命令
      • 参考资料

git介绍

git-分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。
git特点
优点:

适合分布式开发,强调个体;
公共服务器压力和数据量都不会太大;
速度快、灵活;
任何两个开发者之间可以很容易的解决冲突;
离线工作。
缺点:
代码保密性差,一旦开发者把整个库克隆下来就完全公开所有代码和版本信息;
权限控制不友好。

git工作流程

一般工作流程如下:
1.从远程仓库中克隆git资源作为本地仓库;
2.从本地仓库中checkout代码然后进行代码修改;
3.在提交本地仓库前先将代码提交到暂存区;
4.提交修改,提交到本地仓库;本地仓库中保存修改的各个历史版本;
5.在需要和团队成员共享代码时,可以将修改代码push 到远程仓库。
git的工作流程图如下:
在这里插入图片描述

git的几个核心概念

工作区、暂存区、版本库、远程仓库
workspace:工作区,平时存放代码的地方。
Index/Stage:暂存区,用于临时存放改动,实际上它只是一个文件,保存即将提交到文件列表信息
Repository:仓库区(或版本库),安全存放数据的位置,这里面有提交的所有版本的数据。其中HEAD指向最新放入仓库的版本。
Remote:远程仓库,托管代码的服务器
在这里插入图片描述

git常用命令

#查看git版本信息
git --version
#获取当前登录的用户
git config --global user.name
#获取当前登录用户的邮箱
git config --global user.email
#获取git配置信息
git config -list
#显示当前分支的版本历史
git log
#显示仓库状态,显示有变更的文件
git status 
#暂时将未提交的变化移除,稍后再移入
git stash
git stash pop
#将补丁应用于文件和/或索引
git apply .diff
#显示暂存区和工作区的差异
git diff
#添加文件到暂存区
git add .(文件name)
#添加当前目录的所有文件到暂存区 
git add . 
#将文件从暂存区和工作区中删除
git rm
#-s 在提交日志信息的末尾添加提交者的“Signed-off-by”预告片
git commit -s
#添加文件到本地仓库并提交描述信息
git commit -m "first commit"
#将当前分支推送到源存储库中的远程引用匹配主机。这种形式方便推送当前分支,而不考虑其本地名称。
git push origin HEAD:master

参考资料

文章借鉴了以下博客。
[1]: https://blog.csdn.net/ThinkWon/article/details/94346816
[2]: https://blog.csdn.net/ThinkWon/article/details/101450420
[3]: https://www.runoob.com/git/git-basic-operations.html
[4]: https://www.yiibai.com/git/git_push.html

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

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

相关文章

WebService接口测试

WebService的理解 WebService就是Web服务的意思,对应的应用层协议为SOAP(相当于HTTP协议),可理解为远程调用技术。 特点: 客户端发送的请求主体内容(请求报文)的格式为XML格式 接口返回的响…

反射(reflection)基础

反射(reflection) 1. 一个需求引出反射 1.1 请看下面的问题 根据配置文件 re.properties 指定信息,创建Cat对象并调用方法hi 我们用之前的方式处理就是: 先创建一个Cat类,里面创建一个hi()方法; 再创建一个ReflectionQuestion类,然后new …

如何快速开发一个简单实用的MES系统?

01 如何快速开发一个简单实用的MES系统? MES生产管理系统(又称制造执行系统)是一种集成了计划、生产、质量控制、库存管理和材料申请等生产流程的管理系统,是企业中实现高效生产的重要一环。 根据题主描述“通过产品条形码实现对生…

halcon 3D hom_mat3d_rotate简单测试

半年公司没有订单,公司有想法,所以就让部门领导逼着员工自己提离职,为了让我们自己走,先是公司出各种考核,查我上个月的业绩,给我掉部门,然后就是加工作量,这不,让我一个…

C# 根据条件查询树节点所需的相关数据

默认加载所有的数据,结构长这个样子的。 数据库结构长这个样子的 cParentId上级ID、 cItemCode根节点代码、 cItemTitle根节点名称、 cItemName子节点名称、 cItemValue子节点代码 下面就是业务数据处理的相关逻辑: 核心逻辑如下图: pub…

使用Python实现微信自动回复,操作简单,小白也会使用!秒回女朋友消息 泰裤辣!

文章目录 一、安装itchat库二、登录微信三、实现自动回复四、实现关键词回复五、实现图灵机器人回复总结 Python精品助学大礼包 一、安装itchat库 首先,我们需要安装itchat库,它是一个用于微信个人号的微信Python API,可以用于实现微信自动回…

Java Web实训项目:西蒙购物网

文章目录 一、网站功能需求二、网站设计思路(一)设计模式(二)网站前台(三)网站后台1、用户管理2、类别管理3、商品管理4、订单管理 (四)购物流程图 三、网站运行效果四、网站实现步骤…

算法设计 || 实验四 回溯算法-八皇后问题(纯手敲保姆级详细讲解+小白适用+头歌解析)

(一)八皇后问题描述 在一个8x8的棋盘上放置8个皇后,使得每个皇后都不会互相攻击,即任意两个皇后都不能在同一行、同一列或同一条对角线上。 (二)算法思路 由于八皇后问题的解法数量较多,本文将介…

mysql+Galera+haproxy高可用

文件下载地址环境准备 1.1准备三台服务器 服务器名称 Ip 描述 Node0 xxx.xxx.xxx.xxx Node1 xxx.xxx.xxx.xxx Node2 xxx.xxx.xxx.xxx 1.3 安装依赖包 sed -i s/SELINUXenforcing/SELINUXdisabled/g /etc/selinux/config setenforce 0 yum -y install lsof ne…

Axure教程—堆积面积图

本文将教大家如何用AXURE制作堆积面积图 一、效果介绍 如图: 预览地址:https://d4nsae.axshare.com 下载地址:https://download.csdn.net/download/weixin_43516258/87838160 二、功能介绍 简单填写中继器内容即可动态显示值 样式颜色等可…

热榜!阿里出品2023版Java架构师面试指南,涵盖Java所有核心技能

最近很多粉丝朋友私信我说:熬过了去年的寒冬却没熬过现在的内卷;打开Boss直拒一排已读不回,回的基本都是外包,薪资还给的不高,对技术水平要求也远超从前;感觉Java一个初中级岗位有上千人同时竞争&#xff0…

sqlmap的使用详细讲解

一、sqlmap介绍 简介:是一个自动化的sql注入工具,主要功能扫描、发现并利用给定的 url的sql注入漏洞,内置了很多插件 sqlmap支持的数据库: MySQL、oracle、sql-server、DB2.... 注意:sqlmap只用来检测和sq…

用户需求调研的6大注意事项

1、调研目标要清晰具体 调研目标需明确、清晰、具体,只有这样,才能确保在样本选择和问卷设置时,具有明确的目标性和针对性。 2、调研用户精细化梳理 由于用户间存在个体差异,如果只是随机选取部分用户作为调研样本的话&#xff0c…

Tcl-9. string 命令

字符串是 Tcl 中的基本数据类型,所以有大量的字符串操作命令。一个比较重要的问题就是 模式匹配,通过模式匹配将字符串与指定的模式(格式)相匹配来进行字符串的比较、搜索等 操作。下面string 命令提供了一些简单的模式匹配机制。…

MSP432学习笔记9:定时器A-----捕获

今日得以继续我的MSP432电赛速通之旅~~~ 目录 基础知识: 相关库函数: 一般配置步骤: 首先定义一个初始化函数: 1.复用引脚: 2.配置连续计数结构体: 3.初始化定时器连续计数: 4.配置捕获结构体: 5.初始化定时器为捕获: …

缺少vcruntime140.dll如何修复?电脑小白也能学会修复vcruntime140.dll教程

Vcruntime140.dll是一个用于微软的Visual C软件的动态链接库文件,DLL的全称是动态连接库(Dynamic Link Library),它是许多不同软件中所共用的文件类型。这个文件被广泛用作其他软件的依赖库(dependency)。每当您尝试运行一个应用程…

大体量数据迁移成难题,亚马逊云科技如何让迁移能效两不误

逼真的人物设定,精美的主题布局,沉浸式的互动体验,交互式的多元场景……一系列虚拟与现实高度契合又相互映射的设定,成就了“元宇宙”游戏世界的无穷魅力。GVERSE开发的Blockman Go平台就是有着相当大体量的UGC(用户生…

优秀的开源测试工具和框架推荐:精选十大神器!

目录 引言 Katalon Studio Selenium Appium JMeter SOAP UI Robot Framework Watir JUnit Robotium Citrus 结语 引言 你是一位测试从业者,时刻关注着最新的测试工具和框架。但在众多的选择面前,你是否感到困惑和无从下手? 别担…

Android音视频开发1:Android Studio安装

1.JDK安装,至少安装JAVA 1.7 对比项目 Android iOS 开发语言 Java Objective-c,Swift 系统开放性 Android源代码开放,开放性更好 封闭操作系统,开放性较差 系统安全性 源代码开放,安全性较差 封闭操作系统&…

电力电子课设|数控产生PWM波|使用51单片机输出占空比可调PWM波(按钮控制、数码管显示)速成教程

我们学校电气专业开始做电力电子的课设了,小组选了一项制作硬件电路的任务,里面有要求采用数控方式实现DC-DC电压变换的输出电压调节,数控在电路中的体现就是用单片机输出可调占空比的PWM作用于IRF520模块,实现电压的变化&#xf…