Git分布式版本控制系统

news2024/11/26 14:41:52

Githttps://git-scm.com/

1. Git简介

Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。分布式相比于集中式的最大区别在于开发者可以提交到本地,每个开发者通过克隆(git clone),在本地机器上拷贝一个完整的Git仓库。Git 是基于 Linux内核开发的版本控制工具。

从一般开发者的角度来看,git有以下功能:

  1. 从服务器上克隆(clone)完整的Git仓库(包括代码和版本信息)到单机上。
  2. 在自己的机器上根据不同的开发目的,创建分支(branch),修改代码。
  3. 在单机上自己创建的分支上提交(commit)代码。
  4. 在单机上合并(merge)分支。
  5. 把服务器上最新版的代码fetch下来,然后跟自己的主分支合并。
  6. 生成补丁(patch),把补丁发送给主开发者。
  7. 看主开发者的反馈,如果主开发者发现两个一般开发者之间有冲突(他们之间可以合作解决的冲突),就会要求他们先解决冲突,然后再由其中一个人提交。如果主开发者可以自己解决,或者没有冲突,就通过。
  8. 一般开发者之间解决冲突的方法,开发者之间可以使用pull 命令解决冲突,解决完冲突之后再向主开发者提交补丁。

2. Git命令使用

git 全局设置

  • 设置用户信息
    – git config --global user.name “itcast”
    – git config --global user.email “hello@itcast.cn”
  • 查看配置信息
    – git config --list

获取git仓库

  • 在本地初始化一个Git仓库(不常用)
    – 新建一个空的文件夹,在里面右击鼠标,打开 Git bash 窗口
    – 执行命令 git init
    – 当我们看见生成了 .git隐藏文件夹时,说明git本地仓库创建成功
  • 从远程仓库克隆
    – git clone url

工作区、暂存区、版本库 概念

  • 版本库:.git隐藏文件夹就是版本库,版本库中存储了很多配置信息、日志信息和文本版本信息等
  • 工作区:包含.git文件夹的目录就是工作区,主要用于存放开发的代码
  • 暂存区:.git文件夹中很多文件,其中有一个index文件就是暂存区,暂存区是一个临时保存修改文件的地方

git 工作区中文件的状态

在这里插入图片描述

本地仓库操作

  • git status 查看文件的状态
  • git add */filename 将文件的修改加入暂存区
  • git reset hello.txt 取消该文件的暂存
  • git reset --hard 009… 回到该时间线
    (回到该时间线以后,该时间线之后的所有代码将丢失)
  • git commit -m “add hello.txt” hello.txt
  • git log 查看日志
  • git blame 查看指定文件的修改记录,以列表形式显示修改记录
  • git ls-files 所有文件的列表

远程仓库操作

  • git remote 查看当前本地仓库是否关联远程仓库(只能查出别名)
  • git remote -v
    结果: origin https://…
  • git remote add origin url 将该本地仓库和指定远程仓库关联上
  • git clone url 选择一个空的文件夹,将远程仓库上所有的文件clone下来,适合第一次拉取
  • git pull origin master 从远程仓库上拉取

分支操作

  • git branch 列出所有本地分支
  • git branch -r 列出所有remote远程分支
  • git branch -a 列出所有all本地和远程分支
  • git branch b1 创建b1分支
  • git branch -d b1 删除b1分支(delete)
  • git branch checkout master 切换到master分支
  • git push origin b1 将该分支推送到远程仓库

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

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

相关文章

梳理Retrofit的知识体系

作者:RainyJiang 在学习Retrofit后,由于它本身就是OKHttp的封装,面试中也经常会被一起问到;单纯的解析它的源码学习难免会有点无从下手,往往让人抓不住重点,学习效率并不是很高,本文从提出几个问…

我的创作纪念日 2048 AI 面试 Java GoLang

《突击面试》 《面试1v1》 机缘 提示:可以和大家分享最初成为创作者的初心 例如: 实战项目中的经验分享日常学习过程中的记录通过文章进行技术交流… 收获 提示:在创作的过程中都有哪些收获 例如: 获得了多少粉丝的关注获得…

VMware Workstation 11 安装教程

哈喽,大家好。今天一起学习的是VMware Workstation 11的安装,vm虚拟机是小编非常喜欢的生产力软件,小编之前发布的测试教程钧在vm上进行的实验。 VMware Workstation是一款功能强大的桌面虚拟计算机软件,它能够让用户在宿主机操作…

轻松搞定邮件营销!这些工具可以助你提升转化率

据可靠数据统计,邮件营销得投资回报比达1:44,他高性价比的特性在众多营销方式中脱颖而出。他促使企业能够以较低的成本,和客户建立联系并维持长期联系。邮件营销对企业来讲无疑是极佳的获客渠道和营销方式。 想要做好邮件营销通常…

【Java基础学习打卡04】计算机操作系统

目录 引言一、操作系统基本概念二、Windows操作系统三、进程与线程1.进程2.线程 四、CPU与内存总结 引言 了解操作系统基本概念,熟悉Windows操作系统,理解进程与线程概念,并知晓CPU与内存如何工作。 一、操作系统基本概念 计算机操作系统&a…

使用Scala集成开发环境

一、搭建Scala的IntelliJ IDEA开发环境 (一)启动IDEA (二)安装Scala插件 启动IDEA,在欢迎界面中选择Configure→Plugins命令 在上方的搜索框中搜索scala关键字 单击绿色的【Install】按钮,安装完毕&am…

Ubuntu20.04 + 3090 安装nvidia驱动,附加解决重启黑屏卡在 /dev/***: clean, **files,***blocks的问题

目录 准备禁用nouveau解决黑屏问题并安装驱动参考 准备 首先需要知道当前电脑/服务器的显卡型号,这个自行查找自己电脑配置 查找显卡对应的驱动版本 通过命令ubuntu-drivers devices查看当前设备所支持的驱动,带有recommended的驱动为推荐安装的版本 不…

【K8S 从0到1实战】Kubernetes一主多从部署实战指南

目录 前言前置准备安装虚拟机关闭防火墙禁用 SELinux关闭 Swap 分区时区设置和时间同步主机名和域名解析配置转发 IPv4 并让 iptables 看到桥接流量 Docker 安装cri-docker 安装Kubernetes 部署配置 Kubernetes 镜像源Kubernetes 组件安装Master 节点初始化Node 节点加入集群…

基于Ti_AWR2243级联板的发射端波束形成(相控阵)的实践

说明 Ti的级联板功能十分强大,用这块板子做TDM(时分)的发射以及TDM发射模式下的数据处理可能更为大家所熟知,但其实因为AWR2243芯片在每个发射链路上有6bit的移相器,再加上板子上有9个发射天线是排布在同一个水平线上的,所以也可以…

万物的算法日记|第二天

笔者自述: 一直有一个声音也一直能听到身边的大佬经常说,要把算法学习搞好,一定要重视平时的算法学习,虽然每天也在学算法,但是感觉自己一直在假装努力表面功夫骗了自己,没有规划好自己的算法学习和总结&am…

JavaSE进阶——玩转IO流

文章目录 前言一、File类介绍1、概念引入2、实际应用2.1 操作文件2.2 操作文件夹 二、IO流介绍三、字符流1、读文件1.1 一次读一个1.2 一次读多个,使用char数组去装 2、写文件2.1 一次写一个2.2 一次写完,使用字符数组 3、文件复制3.1 综合应用3.2 使用缓…

论文解读:ExamPle:用于预测植物小分泌肽的可解释的深度学习框架

ExamPle: explainable deep learning framework for the prediction of plant small secreted peptides 期刊:Bioinformatics 影响因子:6.931 中科院分区:小类数学与计算生物2区 出版日期:2023年3月10日 Github:https://gith…

Seata客户端的启动过程 学习记录

Seata客户端的启动过程 1.自动装配4个配置类 将在SpringBoot启动时往容器中添加4个类 1. 自动配置类 SeataAutoConfiguration SeataAutoConfiguration将会往容器中添加两个bean failureHandler 事务处理失败执行器globalTransactionScanner failureHandler failureHandle…

03 表达关系的术语

文章目录 表达关系的术语关联关联的语义表达(6点) 泛化细化(也称为实现)依赖例题 UML 基本关系的一般用法① 模型化简单依赖②模型化单继承③模型化结构关系例题 表达关系的术语 关联 定义:关联是类目之间的结构关系,描述了一组具有相同结构、相同语义…

【MySQL数据库一】MySQL数据库初体验

MySQL数据库初体验 1.数据库基本概念1.1 数据Data1.2 表1.3 数据库1.4 数据库管理系统1.5 数据库系统 2.数据库的发展3.主流的数据库介绍3.1 SQL Server(微软公司产品)3.2 Oracle (甲骨文公司产品)3.3 DB2(IBM公司产品…

安卓高通机型的基带移植 修改 编译的相关 增加信号 支持5G等【二】

安卓高通机型的基带移植 修改 编译的相关 增加信号 支持5G等【一】 前面分享了这篇帖子,很多友友希望更新下新机型的基带替换方法。今天对其中做一些补充说明。由于安卓机型跨版本幅度较大。有的机型从出厂安卓8有可能官方目前已经更新到安卓12 13等等。所以任何的教…

每天五分钟机器学习:如何确定梯度下降中的学习率?

本文重点 学习率是梯度下降算法中的一个重要参数,它控制着每次迭代中参数的更新幅度,因此学习率的大小直接影响着算法的收敛速度和精度。在实际应用中,如何选择合适的学习率是一个非常重要的问题。 手动调整法 最简单的方法是手动调整学习率。我们可以根据经验或者试错的…

sealos 五年磨一剑——云操作系统正式发布

这是计划的一部分 这是一个宏伟的计划,漫长且有趣。。。 2018 年的一个晚上,我写下了 sealos 第一行代码,当时仓库命名 “kubeinit”,后一想格局太小,我不可能只做一个安装 kubernetes 的事,安装只是计划…

不知道测试什么?这些是你需要知道的软件测试类型和常识

有多少软件测试类型呢? 我们作为测试人员了解很多种不同的软件测试类型,例如功能测试(Functional Test)、非功能测试、自动测试、敏捷测试、以及它们的各种子类型. 尽管在我们的测试过程中会接触很多种测试类型, 或者听说过某些测试类型,但是很少人敢说…

小姐姐们,一起学数据分析

💖 亲爱的女生们,听我说!数据分析,给你的未来注入浪漫与激情!💖 嗨,小姐姐们👭, 我想和你们分享一个令人兴奋的话题——数据分析!或许你们会觉…