Linux 分布式版本控制系统git

news2024/11/19 18:40:07

目录

什么是git?

安装git

 创建版本库

工作区和版本库、

向版本库中添加文件

 版本回退

远程操作


什么是git?

 Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。

linux是一个开源软件,第一版本,第二版本不同怎么控制?

 Git 与常用的版本控制工具 SVN, Subversion 等不同,它采用了分布式版本库的
方式,不必服务器端软件支持。

 SVM就相当于分布式中讲的单点,但分布式版本控制系统没有“中央服务器”,每个人的电脑上都是一个完整的版本库,这样,你工作的时候,就不需要联网了,因为版本库就在你自己的电脑上。既然每个人电脑上都有一个完整的版本库,那多个人如何协作呢?比方说你在自己电脑上改了文件A,你的同事也在他的电脑上改了文件A,这时,你们俩之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。他们的代码,资源都相同,就是三个相同的副本。

安装git

1.用git命令查看是否已安装
git --vertion
2.安装
sudo yum install git//centos
sudo apt-get intall git//ubuntu
 3 进行配置,指定使用git的账号和用户名
git config --global user.name "Your name"
git config --global user.email "Your email“

 创建版本库

版本库又称仓库,仓库中存放被git管理的文件,每个文件的修改、 删除,git都能够跟踪,可以方便追踪历史。

创建仓库方法:

 创建成功,多了.git目录,用来跟踪管理版本库的,不能删除!

工作区和版本库、

工作区指工作目录,而工作区有一个隐藏目录.git,这个不算工作区,而是Git的版
本库,该文件夹就是用于管理当前目录中所有文件的改动的。
Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存
,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫
HEAD

第一步是用git add把文件添加进去,实际上就是把文件修改添加到暂存区;

第二步是用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支。

向版本库中添加文件

git add filename
git add --all .//添加所有文件
工作区中的文件是可以被追踪的,但是只有告诉git哪些文件需要追踪,它才会显式的去追踪
该文件,否则git永远会在你提交的时候告诉你工作区还用哪些文件处于Untracked状态 而a
dd命令就是用来显式告诉git哪些文件从此时开始追踪。
git commit
命令保存某个文件的修改,记录下该文件当前快照。然后用 commit命令向分支上提交
位于分支上的每个点都是一次commit留下的。当然回滚的时候也是根据需要回滚到指定的点
上。
例:
前提:在刚创建的repo_git目录(或子目录)下建立文件,如 “zn.txt”,添加内容
步骤: git add README.txt # 没有输出
            git commit –m “A description for the…”
            git status #查看状态

 版本回退

前提: 后续开发需要修改之前的文件,如zn.txt, 想退回之前的版本
status命令是用来查看当前工作区状态的 ,也就是说它会把 当前工作区的所有文件状态
地分支上最近一次的提交 进行比较,并列出所有做出的修改条目。
git status
diff命令也是用来查看当前状态的,只是它不同于status,它比较的是 工作区 暂存区 之间
的区别。
git diff

查看历史提交信息

git log
reset命令能够实现回退历史版本。
git reset 
git reset –-hard HEAD^ # 退回后新的不存在了,若git log还存在可用版本号回退
git reset –-hard 版本号(来自git log)
git reflog # 记录每一次更改,可找到最新版本

 

 再去看zn.txt里面的内容的时候,就是上次的了,因为回退了

 

reflog 记录每一次修改

撤销修改(删除)
1. git checkout -- filename ,回到最近一次git commit或git add时的状态。
若未放到暂存区,回到和版本库一样的状态
若放到暂存区,则回到添加到暂存区后的状态
2. git reset HEAD filename:撤销暂存区中的内容(git add)
3. git rm filename:删除提交到版本库中的文件 (错删,则git checkout -- filename
从版本库恢复)

远程操作

前提:已经在本地创建了一个Git仓库后,又想在GitHub创建一个Git仓库,并且让
这两个仓库进行远程同步,这样,GitHub上的仓库既可以作为备份,又可以让其
他人通过该仓库来协作
步骤:登录github(gitee),创建和项目同名repository
例如:git remote add origin git@github.com:Coder-Peng/repo_git.git
git push -u origin master #第一次提交本地库

持续更新

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

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

相关文章

【深入浅出Maven开发实战】「入门教程系列」带你零基础学习和开发使用Maven开发工具实战指南(实战技术总结)

Maven介绍 由于Java的生态非常丰富,无论你想实现什么功能,都能找到对应的工具类,这些工具类都是以jar包的形式出现的,例如Spring,SpringMVC、MyBatis、数据库驱动,等等,都是以jar包的形式出现的&#xff0…

华为OD机试之完美走位(Java源码)

完美走位 题目描述 在第一人称射击游戏中,玩家通过键盘的A、S、D、W四个按键控制游戏人物分别向左、向后、向右、向前进行移动,从而完成走位。 假设玩家每按动一次键盘,游戏任务会向某个方向移动一步,如果玩家在操作一定次数的键…

Eureka 心跳和服务续约源码探秘——图解、源码级解析

🍊 Java学习:社区快速通道 🍊 深入浅出RocketMQ设计思想:深入浅出RocketMQ设计思想 🍊 绝对不一样的职场干货:大厂最佳实践经验指南 📆 最近更新:2023年5月25日 🍊 点…

【SA8295P 源码分析】03 - SA8295P QNX Host 上电开机流程分析

【SA8295P 源码分析】03 - SA8295P QNX Host上电开机流程分析 一、阶段1 固件开机自检 (SM BIST):APPS PBL加载XBL后触发 INT_RESET进行Warm Reset二、阶段2 固件开机自检 (SM BIST):加载TZ,初始Hypervisor,启动QNX Kernel,加载并启动各子系统系列文章汇总见:《【SA8295P…

如何用前端技术打造自己的2048游戏

部分数据来源:ChatGPT 2048游戏规则 2048是一款数字益智类游戏,玩家需要通过合并数字方块来获得更高的分数。游戏的规则非常简单,只需要使用上下左右方向键移动数字方块,当两个相同数字方块碰撞时,会合并成一个数字方…

【KVM虚拟化】· KVM中的网络

目录 🍎虚拟机的网络模式 🍒网络配置文件 🍒virsh查看命令 🍎基于NAT的虚拟网络 🍎基于网桥的虚拟网络 🍎基于隔离的虚拟网络 🦐博客主页:大虾好吃吗的博客 🦐专栏地址&a…

全网最全的多模态实体识别论文列表-【原文+代码】

文章目录 写在前面的话【2017年】【2018年】【2019年】【2020年】【2021年】【2022年】【2023年】【写在最后的话】 写在前面的话 近期在梳理多模态NER相关的论文,因此,本篇文章主要是为大家整理了比较全面的聚焦于多模态实体识别任务的论文列表&#x…

Linux权限相关介绍

目录 前言 1.Linux操作系统下的两种用户 Linux权限管理 Linux文件访问对象分类 文件类型和访问权限 文件类型 基本权限 文件访问权限的相关设置方法 chmod chown chgrp umask掩码 目录权限 粘滞位 前言 权限指的就是我们对于某件事物所能够相关操作,而对于…

x86汇编语法基础(gnu格式)

一、寄存器 1.1 通用寄存器 一个x86-64的中央处理单元(CPU)包含一组16个存储64位值的通用寄存器。这些寄存器用来存储整数数据和指针。下图显示了这16个寄存器。它们的名字都以%r开头,不过后面还跟着不同命名规则的名字,这是由于…

macbook2023系统清理软件cleanmymac中文版

cleanmymac x 中文版基本都是大家首选Mac清理软件了。它集各种功能于一身,几乎满足用户所有的清理需求。它可以清理,优化,保养和监测您的电脑,确保您的Mac运行畅通无阻!支持一键快速清理Mac,快速检查并安全…

opencv_c++学习(二十二)

一、凸包检测 图中左侧为边缘检测的效果,中间为图像经过二值化的效果,右图为凸包检测效果。 convexHull(lnputArraypoints, OutputArray hull,bool clockwise false, bool returnPoints true)points:输入的2D点集。 hull:输出凸包的顶点。…

【大学物理实验】基本测量

50分度的游标卡尺,最小分度为: A. 0.1mm B. 0.2mm C. 0.5mm D. 0.02mm 正确答案: D 保存游标卡尺和螺旋测微器是,下面说法正确的是: A. 游标卡尺测量位置应闭合,螺旋测微器小砧和螺杆间隙也应闭合 B. 游标…

PyG的Planetoid无法直接下载Cora等数据集的解决方法

问题描述: 在使用PyG的时候,通常会涉及到一些公共数据集的下载,由于网络问题,导致无法下载出现以下问题: 尝试了很多的方法都没有成功(主要是个人比较菜!)。但是皇天不负有心人&am…

基于Springboot的高校固定资产管理系统的设计与实现(源码完整)

项目描述 临近学期结束,还是毕业设计,你还在做java程序网络编程,期末作业,老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。这里根据你想解决的问题,今天给…

1.标注自己的关键点检测数据集

1.标注自己的关键点检测数据集 1.1 labelme标注数据 labelme GitHub项目地址:https://github.com/wkentaro/labelme 1.1.1exe文件下载 https://github.com/wkentaro/labelme/releases 可直接下载打包好的exe文件 1.1.2python安装labelme cmd命令行中输入以下命…

极大似然估计法及其损失函数的优化方法

二分类-逻辑回归模型 1.模型函数 1)多元线性回归函数: Z ^ 计算 X W T \hat{Z}_{计算} XW^T Z^计算​XWT 2)softmax函数: Y ^ 模型 S i g m o i d ( Z ^ 计算 ) 1 1 e − Z ^ 计算 \hat{Y}_{模型} Sigmoid(\hat{Z}_{计算})…

继瑞吉外卖后的又一个项目——SpringBoot+Vued前后端的博客系统

文章目录 博客系统项目介绍前言项目演示前台演示后台演示 组织结构后端组织结构前端组织结构 技术选型前端技术后端技术架构图系统架构图业务架构图 模块介绍前端模块后端模块 环境搭建开发工具开发环境项目运行 未完待续结语 博客系统项目介绍 前言 本项目已开源在Gitee 后端…

【P32】JMeter While 控制器(While Controller)

文章目录 一、While 控制器(While Controller)参数说明二、测试计划设计2.1、变量2.2、函数2.2.1、groovy脚本2.2.2、jex13脚本2.2.3、js脚本 一、While 控制器(While Controller)参数说明 可以对部分逻辑按变量条件进行循环迭代…

【算法】—— 简单多状态 dp 问题

在上期,我给大家讲解了关于单个状态下的dp问题,本期我给大家讲述几道关于多状态下的dp问题。希望大家有所帮助!!! 目录 (一)粉刷房⼦ (二)买卖股票的最佳时机含冷冻期 …

破解提升 LLMs 性能的黑匣子—— LlamaIndex

“可以将 LlamaIndex 视为外部数据和 LLM 连接在一起的黑匣子。”在 Zilliz 组织的网络研讨会中,LlamaIndex 的联合创始人兼首席执行官 Jerry Liu 曾这样说道。 对于 Jerry Liu 的这个比喻,熟悉 LLMs 的开发者会觉得颇为贴切,尤其是对于那些想…