git管理工具学习(图解使用git工作流程)

news2024/11/14 2:26:00

目录

      • GIT 简介
      • 一个最简单的GIT操作流程
      • git的工作流程&命令

GIT 简介

git是什么,在维基百科上是这么介绍的:git是一个分布式的版本控制软件

  1. 分布式是相对于集中式而言的,分布式即每一个git库都是一个完整的库。
    每个库的地位都是平等的,但是一般在实际开发都需要有一个统一的代码管理平台(服务器)。来简化开发,我们只需要和指定的一个远端git库代码保持一致,就可以保证整个团队的代码一致。
  2. 版本控制是说它会保留各个历史的代码。而且我们可以通过一些commands来恢复就的代码,它还支持分支操作,在同一个代码版本上分出两个不同的版本开发。当开发到一个里程碑后可以建立TAG标签。
  3. git提供了一系列的冲突解决方案,让我们在代码出现冲突之后可以快速的解决冲突。
  4. git的生态也很完整
    • github上有很多很棒的开源代码,我们可以在上面学习,
    • gitlab 是现在国内大多公司在进行代码管理时使用的一个代码管理平台

一个最简单的GIT操作流程

前提:已经建立一个git仓库

  1. 创建或修改一个文件
  2. 将修改加入到git的缓存区,使用git add命令
  3. 将缓存区的修改内容提交到版本控制,这时使用的是git commit命令
  4. 将已经提交的内容,推送给远端的git仓库,这时使用的是git push命令

git的工作流程&命令

在这里插入图片描述

配置:

  • git config 用来配置本地用户信息,提交代码时的标记
  • git cat-file 用来查看文件类型或内容

本地操作:

  • git init 用来创建一个新的git库
  • git add 添加修改到暂存区
  • git checkout 恢复工作区的文件,恢复成暂存区
  • git commit 提交暂存区调整到HEAD(git库)
  • git reset 恢复暂存区,从HEAD中恢复
  • git status 查看暂存区状态
  • git log 查看历史版本记录
  • git diff 比较两个文件的差别
  • git branch 查看分支信息
  • git rebase 变基操作

临时任务:

  • git stash 将当前内容临时存储

协作开发:

  • git clone 克隆远程库
  • git push 推送本地库到远端
  • git fetch 拉取远端版本内容
  • git merge 合并两个版本的差别
  • git pull 拉取远端的版本内容,并合并差别

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

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

相关文章

STM32存储左右互搏 I2C总线读写EEPROM ZD24C1MA

STM32存储左右互搏 I2C总线读写EEPROM ZD24C1MA 在较低容量存储领域,EEPROM是常用的存储介质,不同容量的EEPROM的地址对应位数不同,在发送字节的格式上有所区别。EEPROM是非快速访问存储,因为EEPROM按页进行组织,在连…

c 语言解析 时间字符串

#include <iostream> #include <ctime>int main(int argc, char *argv[]) {struct tm timeinfo;char cur_time[] "current time: 2021-09-06 23:50:13";// 解析时间到timeinfo中strptime(cur_time, "current time: %Y-%m-%d %H:%M:%S", &…

数据库管理员知识图谱

初入职场的程序猿&#xff0c;需要为自己做好职业规划&#xff0c;在职场的赛道上&#xff0c;需要保持学习&#xff0c;并不断点亮自己的技能树。  成为一名DBA需要掌握什么技能呢&#xff0c;先让Chat-GPT为我们回答一下&#xff1a; 数据库管理系统 (DBMS)知识&#xff…

加强Web应用程序安全:防止SQL注入

数据库在Web应用程序中存储和组织数据时起着至关重要的作用&#xff0c;它是存储用户信息、内容和其他应用程序数据的中央存储库。而数据库实现了高效的数据检索、操作和管理&#xff0c;使Web应用程序能够向用户提供动态和个性化的内容。然而&#xff0c;数据库和网络应用程序…

微信小程序原生写法传递参数

微信小程序原生写法传递参数 data-xxx 自定义参数名 &#xff0c;接收参数&#xff1a;方法&#xff08;变量名&#xff09; checkVip:function(event) {let that thisconsole.log(event,event)console.log(event.currentTarget.dataset.idx,index)let index Number(eve…

SpringBoot复习:(13)Banner是怎么打印出来的?

SpringApplication的run方法代码&#xff1a; public ConfigurableApplicationContext run(String... args) {long startTime System.nanoTime();DefaultBootstrapContext bootstrapContext createBootstrapContext();ConfigurableApplicationContext context null;configur…

<C++> 三、内存管理

1.C/C内存分布 我们先来看下面的一段代码和相关问题 int globalVar 1; static int staticGlobalVar 1; void Test() {static int staticVar 1;int localVar 1;int num1[10] {1, 2, 3, 4};char char2[] "abcd";const char *pChar3 "abcd";int *ptr1…

重学C++系列之异常

一、什么是异常 异常一般是指程序运行期发生的非正常情况。异常一般是不可预测的&#xff0c;如&#xff1a;内存不足&#xff0c;打开文件失败&#xff0c;数组越界&#xff0c;范围溢出等。 在某段程序发生无法继续正常执行的情况时&#xff0c;C允许程序进行所谓抛出异常&am…

实现Feed流的三种模式:拉模式、推模式和推拉结合模式

在互联网产品中&#xff0c;Feed流是一种常见的功能&#xff0c;它可以帮助我们实时获取我们关注的用户的最新动态。Feed流的实现有多种模式&#xff0c;包括拉模式、推模式和推拉结合模式。在本文中&#xff0c;我们将详细介绍这三种模式&#xff0c;并通过Java代码示例来实现…

0801|IO进程线程day4(文件IO函数)

作业1&#xff1a;从终端获取一个文件的路径以及名字 若该文件是目录文件&#xff0c;则将该文件下的所有文件的属性显示到终端&#xff0c;类似ls -l该文件夹若该文件不是目录文件&#xff0c;则显示该文件的属性到终端上&#xff0c;类似ls -l这单个文件 以下代码只能跑本目录…

IDEA中修改类头的文档注释信息

IDEA中修改类头的文档注释信息 选择File--Settings--Editor--File and Code Templates--Includes&#xff0c;可以把文档注释写成这种的 /**author: Arbicoralcreate: ${YEAR}-${MONTH}-${DAY} ${TIME}Description: */这样回看就可以很清楚的看到自己创建脚本的时间&#xff…

Vue2 第十三节 使用Vue脚手架(一)

1.初始化脚手架 2.分析脚手架结构 3.修改默认配置 一.初始化脚手架 1.Vue脚手架式Vue官方提供的标准化开发工具 2.具体步骤 ① 如果下载缓慢&#xff0c;需要配置npm淘宝镜像 npm config set registry http://registry.npm.taobao.org ② 全局安装: npm install -g vu…

Jenkins配置流水线

一、新建任务 这个任务名称将会是Jenkins的workspace路径下的一个目录&#xff0c;如我建立了一个test任务&#xff0c;那么Jenkins会生成一个/jenkins_home/workspace/test目录&#xff0c;用来拉取代码编译等。所以请谨慎设置任务名称。

直线模组如何进行精度校准?

直线模组是一种高精度的传动元件&#xff0c;而精度是直线模组的重要指标&#xff0c;在直线模组的使用中&#xff0c;我们应该尽可能的避免直线模组的精度受损&#xff0c;这样才能够有真正的发挥出直线模组的稳定性。 直线模组的精度一般是指重复定位精度和导向精度&#xff…

puppeteer监听response并封装为express服务调用

const express require(express); const puppeteer require(puppeteer); const app express(); let browser; // 声明一个全局变量来存储浏览器实例app.get(/getInfo, async (req, res) > {try {const page_param req.query.page; // 获取名为"page"的查询参数…

汉王人脸考勤管理系统SQL注入RCE

忘掉&#xff01;忘掉温暖&#xff0c;忘掉温柔&#xff0c;忘掉一切享乐&#xff0c;而把饥饿、寒冷、受辱、受苦当做自己的正常生活 漏洞描述 汉王人脸考勤管理系统存在SQL注入漏洞&#xff0c;攻击者可利用该漏洞获取数据库敏感信息并Getshell。 漏洞复现 访问漏洞url&a…

MySQL多版本并发控制

1. 什么是MVCC MVCC(Multiversion Concyrrency Contril)&#xff0c;多版本并发控制。顾名思义&#xff0c;MVCC是通过数据行的多个版本来管理实现数据库的 并发控制。这项技术使得在innodb的事务隔离级别下执行 一致性读 操作有了保证。换言之&#xff0c;就是为了查询一些正在…

2023.7月最新ORACLE考试通过|微思-ORACLE官方授权中心

微思-ORACLE官方授权培训中心 2022 ORACLE OCP考试战报https://blog.csdn.net/XMWS_IT/article/details/125866726?ops_request_misc%257B%2522request%255Fid%2522%253A%2522169089281916800182194373%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&r…

Linux系统编程 - 基础IO(IO操作)

目录 预备知识 复习C文件IO相关操作 printf相关函数 fprintf snprintf 读取文件 系统文件IO操作 open函数 umask()函数 open函数返回值 预备知识 1.你真的理解文件原理和操作了吗&#xff1f; 不是语言问题&#xff0c;是系统问题 2.是不是只有C/C有文件操作呢&…

IP地址转换函数

#include<string.h> #include<arpa/inet.h> #include<stdio.h>int main(void){char ip[]"1.2.3.4";//字符串struct sockaddr_in server_addr;inet_pton(AF_INET,ip,&server_addr.sin_addr.s_addr);//字符串 to 网络字节序printf("s_addr …