Git----分布式版本控制系统

news2024/7/4 6:00:45

1.  简介

Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或大或小的项目。它是世界上目前最先进的分布式版本控制系统。
Git是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源代码的版本控制软件。
Git与常用的版本控制工具CVS、Subversion等不同,它采用了分布式版本库的方式,不用服务器端软件支持。

2.作用

作用:版本控制+多人协作

3.相对于集中式的优势

集中式

典型代表:SVN

特点:所有的版本库都存在中央服务器,本地备份动作必须依赖中央服务器,如果一旦服务器挂掉,或者网络状况不好,没法提交版本。

分布式

典型代表:Git

特点:每一台客户端都有完整的版本备份,所有的版本提交不需要依赖中央服务器,只有多人协作时候,需要用服务器交换一下版本库。

4. Git安装

上图的安装包依次按照顺序进行安装,第一个是 Git官方安装包,第二个是右键扩展包,第三个是右键扩展语言包,按照默认安装即可,路径可自行选择。

安装扩展包过程中如果出现输入用户名和邮箱的界面,正常输入即可,名字尽量用英文全拼,邮箱用qq邮箱。

安装完成后在桌面上右键会出现如下几个选项(开始是英文):

修改语言

在设置选项中更改成中文即可。

5. Git区域概念

工作区:相当于工作的文件夹

版本库:Git备份的位置

远程仓:远程的服务器

6. Git图形化界面操作步骤

(1)初始化Git仓库

新建文件夹,在右键菜单中选择:创建版本库

注意:不要直接在桌面点击创建版本库,因为本身桌面也是一个文件夹,创建也是生效的。如果把桌面做成版本库,可以把windows文件夹中隐藏项目选项打开,然后把桌面上的隐藏文件夹.git删除即可恢复。

(2)提交工作区的内容到版本库

注意:工作区如果没有修改,是无法触发提交动作的。

(3)查看版本记录

(4)版本回退

先找到版本日志,然后选择某个版本进行回退

(5)版本前进

7. Git指令界面操作步骤

Linux发行版一般会自带git命令,如果没有,只需要使用apt-get install git即可完成安装。


注意你的文件夹路径,一定要在新建的文件夹里,可使用cd 命令进入。
通用操作
在还未成为git仓库的文件夹中,右键菜单打开“Git Bash Here”终端


ctrl+C:停止当前命令的输入或者执行
ctrl+L:清屏
以下命令和终端当前路径无关
配置个人信息
git config --global user.name "name"
git config --global user.email "xxx@qq.com"
自动记住用户名和密码(远程仓库联动
git config --global credential.helper store
中文显示
git config --global core.quotepath false


(1)初始化仓库


            git init


(2)提交工作区的内容到版本库

            git add <文件名>:*代表所有的文件--- git add *

            git commit -m "<提交的内容>"

(3)查看版本的记录


             git log


(4)查看工作区的状态


             git status


下面的信息代表工作区是干净的


下面的信息代表工作区是脏的,只有工作区是脏的状态才能提交


(5)版本回退

            git log

            git reset --hard <版本ID>

(6)版本前进

            git reflog :显示引用记录,引用记录包括所有的提交信息

            git reset --hard <版本ID>

8. 远程仓库

个人项目

8.1 常用托管平台

[Github]

开源项目的聚集地,世界最大的代码托管平台。很多著名的项目都在Github开源,比如Linux源码、Qt源码等。缺点:国内经常无法访问,速度比较慢。

[Gitlab]

Gitlab支持公有仓库和免费的私有仓库,体验和Github类似,常用作搭建的企业内网代码托管平台。公有仓库国内经常无法访问,速度比较慢。

[码云]

国内代码托管的老大,一个账号最多可以创建1000个项目,不分公有和私有。速度非常快,体验较好。会同步国外知名的开源项目,下载速度快。

8.2 码云图形化界面的使用

(1)创建账号

创建完成后不要乱改东西,尤其是这个邮箱设置不要勾选,全部按默认走。

(2)新建项目

注意:前面本地建的项目和远程仓库没有关系,只有从远程仓库生成到本地的项目,才能和远程仓库做同步。

 

 

仓库名称必须填写,路径会自动生成。

(3)克隆项目

点一下HTTPS按钮,复制地址,通过乌龟或者命令克隆到本地。

首次克隆会出现对话框提示输入用户名(注册码云时的手机号或者邮箱地址)和密码,正常输入即可,如果前面通过命令配置了自动记住用户名和密码,那么后续操作不需要再重复输入。

(4)推送项目

推送的意思是将本地版本库内容完全覆盖远程版本库的内容。

注意推送之前一定要先提交。

(5)拉取项目

拉取的意思是将远程版本库的内容完全覆盖本地版本库。

8.3 码云指令界面的使用

(1)克隆项目

    git clone <远程仓库的地址>

(2)推送远程

    git push origin master

(3)拉取远程更新

    git pull

8.4  多人协作

(1)码云项目增加成员

 

将邀请码发给组员,组员加入即可。

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

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

相关文章

2023最新版本Activiti7系列-流程中的任务

流程中的任务 1.用户任务 用户任务:用于定义流程中需要人工参与的任务。 用户任务可以在流程中创建并分配给特定的用户或用户组。当流程执行到用户任务时&#xff0c;流程将暂停&#xff0c;并等待相应的用户完成该任务。完成用户任务后&#xff0c;流程将继续执行。 用户任…

系统架构设计师视频教程笔记

根据历年真题倒翻官方教程&#xff0c;发现好多内容没有&#xff0c;据说2022新版改动很大 既然是真题&#xff0c;肯定有参考价值&#xff0c;那就看看旧视频吧 考试分享 软考高级架构师&#xff0c;有用但不大【通过后分享】 up主公司要接政府项目&#xff0c;有考证需求 …

Spring:Annontation

Bean 配置注解Autowired 注解context:component-scan 标签 配置 在 Spring 中&#xff0c;配置 bean 实例一般使用 xml 配置方式或注解&#xff08;Annontation&#xff09; 方式进行配置。 注解 注解&#xff08;Annontation&#xff09;&#xff0c;是在原有代码和逻辑下通…

数据库字段变更监控平台设计开发

序&#xff1a; 在开发过程中&#xff0c;在值班解决客服问题时&#xff0c;在分析定位别人写的业务代码问题时&#xff0c;重点是不是自己写的代码&#xff0c;只看到了数据库中落库最终数据&#xff0c;并不知道业务逻辑问题发生时数据库表中当时数据情况&#xff1f;如果能知…

虚拟机 NAT模式联网 重启断网的解决方法

1、虚拟机NAT模式联网 这个博客写的很清楚:按照他的方法可以ping通www.baidu.com 三分钟完成虚拟机联网 小白看了都说好&#xff01;&#xff01;&#xff01; 虚拟机超详细联网教程/步骤 SDN软件定义网络实验_虚拟机联网教程_九号迷妹的博客-CSDN博客 但是虚拟机重启几次之后…

九种分布式ID解决方案,总有一款适合你!

1、UUID 2、数据库自增ID 2.1、主键表 2.2、ID自增步长设置 3、号段模式 4、Redis INCR 5、雪花算法 6、美团(Leaf) 7、百度(Uidgenerator) 8、滴滴(TinyID) 总结比较 背景 在复杂的分布式系统中&#xff0c;往往需要对大量的数据进行唯一标识&#xff0c;比如在对…

2023牛客暑期多校训练营3

A.World Fragments I 将两个二进制数先转换成十进制数,因为只要二进制中有1,就加或减1(加减0是没有用的),所以求两个二进制的差的绝对值(这是在有1的情况下,其实只要不等于0就有1,数是非负整数) 所以需要特判,如果第一个二进制数为0,第二个二进制数不为0,那么就不能转化,输出…

甄云质量管理解决方案——插上数字“羽翼”,实现PPAP落地

导语 质量管理是供应链管理中非常重要的一环&#xff0c;通过制定和开展质量相关的活动&#xff0c;确保产品符合质量标准和一致性要求。质量管理水平的高低直接影响供应链的整体效率和最终效益&#xff0c;关乎企业形象和品牌声誉&#xff0c;已然是企业的生命线。 作为采购…

Redis超详细入门教程(基础篇)

目录 一、什么是Redis 二、安装Redis 1、Windows系统安装 2、Linux系统安装 三、Redis通用命令 四、Redis基本命令 五、五种数据结构类型 5.1、String类型 5.2、List集合类型 5.3、Set集合类型 5.4、Hash集合类型 5.5、Zset有序集合类型 六、总结 一、什么是Redi…

leecode 98验证二叉搜索树

​​​​ 这次的性能真的是超乎想象的好 题目描述 98二叉树 第一种方法 中序遍历 大体的思想就是将遍历的结果存放到数组中 检查数组是否是有序 判断是否符合条件 特点是时间和空间消耗都很大 /*** Definition for a binary tree node.* struct TreeNode {* int val;*…

常见面试题之设计模式--工厂方法模式

1. 概述 需求&#xff1a;设计一个咖啡店点餐系统。 设计一个咖啡类&#xff08;Coffee&#xff09;&#xff0c;并定义其两个子类&#xff08;美式咖啡【AmericanCoffee】和拿铁咖啡【LatteCoffee】&#xff09;&#xff1b;再设计一个咖啡店类&#xff08;CoffeeStore&…

DAY51:动态规划(十五)买卖股票最佳时机Ⅲ+买卖股票最佳时期Ⅳ

文章目录 123.买卖股票最佳时机Ⅲ&#xff08;注意初始化&#xff09;思路DP数组含义递推公式初始化遍历顺序最开始的写法&#xff1a;初始化全部写成0debug测试&#xff1a;解答错误&#xff0c;第0天实际上是对应prices[0]和dp[0] 完整版总结 188.买卖股票最佳时机Ⅳ思路DP数…

【wxWidgets】剪贴板和拖放操作

【wxWidgets】剪贴板和拖放操作 使用剪贴板传输数据时应用程序间的一种交互方式 剪贴板和拖放操作在wxWidgets中共享了一些类来实现数据的传输 数据对象 wxDataObject类时剪贴板操作和拖放操作的核心&#xff0c;该类实例代表了拖放操作中鼠标拖拽的事物和剪贴板中拷贝和粘贴…

【git学习2】多人合作中git的使用

提交代码 中间打勾&#xff1a;commit提交代码 最后点击向上的箭头 push到远程仓库。 团队开发中git的使用 第一步先从远程仓库中某个分支拉下来代码&#xff0c;比如下图只有一个分支master 新建文件夹&#xff0c;存放这个拉下来的项目&#xff0c;克隆项目地址&#xff…

JDK8版本接口的改进(heima)

JDK8版本接口的改进&#xff08;heima&#xff09; public class InterfaceTest1 {/*JDK8版本接口改进1.允许编写带有方法体的方法&#xff08;默认方法&#xff09;2.允许编写静态方法目的&#xff1a;解决接口的升级问题---------------------------------------注意事项&…

HDFS的设计目标和重要特性

HDFS的设计目标和重要特性 设计目标HDFS重要特性主从架构分块存储机制副本机制namespace元数据管理数据块存储 设计目标 硬件故障(Hardware Failure)是常态&#xff0c;HDFS可能有成百上千的服务器组成&#xff0c;每一个组件都有可能出现故障。因此古见检测和自动快速恢复的H…

基本数据类型和引用数据类型

数据类型的分类 java中的 变量 按照数据类型来分类&#xff1a; Java语言是 强 类型语言&#xff0c;对于每一种数据都给出了明确的数据类型&#xff0c;不同的数据类型也分配了不同的内存空间&#xff0c;所以它们表示的数据大小也是不一样的。基本数据类型&#xff08;4类8种…

[Python] flask运行+wsgi切换生产环境+supervisor配置指南

文章目录 问题背景flask启动方式1&#xff08;编写main函数&#xff09;&#xff1a;方式2&#xff08;编译器&#xff09;&#xff1a;方式3&#xff08;命令行&#xff09;&#xff1a;方法4&#xff08;重命名文件法&#xff09;&#xff1a;方法5&#xff08;使用flask命令…

欧盟新规,燃油噩梦?2025年起,高速公路每60公里设立一处快充站

根据外媒The Verge报道&#xff0c;欧洲电动汽车用户将获得更多便捷的待遇&#xff0c;同时还能减少有害温室气体排放&#xff0c;这得益于欧盟理事会最新通过的法规。 根据欧盟的法规要求&#xff0c;自2025年起&#xff0c;TEN-T高速公路系统在欧洲将需要每隔60公里设立一座高…

WEB:ics-07

背景知识 php弱类型 文件上传漏洞 一句话木马 floatval函数 题目 点击项目管理 点击查看源代码&#xff0c;发泄一个view-source.php 访问该网页 进行代码审计 <?php session_start();if (!isset($_GET[page])) {show_source(__FILE__);die(); }if (isset($_GET[page]) &…