Git3.创建版本库(Git仓库)&提交更新到仓库

2023-05-16

创建版本库(Git仓库)

什么是版本库呢?版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。

所以,创建一个版本库非常简单,首先,选择一个合适的地方,创建一个空目录:
$ mkdir learngit
$ cd learngit
$ pwd
/Users/michael/learngit
如果你使用Windows系统,为了避免遇到各种莫名其妙的问题,请确保目录名(包括父目录)不包含中文。
第二步,通过  git init 命令把这个目录变成Git可以管理的仓库:
$ git init
Initialized empty Git repository in F:/GitProject/.git/
瞬间Git就把仓库建好了,而且告诉你是一个空的仓库(empty Git repository),细心的读者可以发现当前目录下多了一个 .git的目录,这个目录是Git来跟踪管理版本库的,没事千万不要手动修改这个目录里面的文件,不然改乱了,就把Git仓库给破坏了。
注意:你将GitProject创建成了仓库,文件必须放在此文件夹内或者文件夹的子目录。Git才会找到你要添加的文件。


提交更新到仓库
请记住,你工作目录下的每一个文件都不外乎这两种状态:已跟踪或未跟踪。
已跟踪的文件是指那些被纳入了 版本控制的文件,在上一次快照中有它们的记录,在工作一段时间后,它们的状态可能处于未修改,已修改或已放入暂存区。 工作目录中除已跟踪文件以外的所有其它文件都属于未跟踪文件,它们既不存在于上次快照的记录中,也没有放入暂存区。 初次克隆某个仓库的时候,工作目录中的所有文件都属于已跟踪文件,并处于未修改状态。
编辑过某些文件之后,由于自 上次提交后你对它们 做了修改,Git 将它们 标记为已修改文件。 我们逐步将这些 修改过的文件放入暂存区,然后提交所有暂存了的修改,如此反复。所以使用 Git 时文件的生命周期如下:

untracked(未追踪):此文件在文件夹中,但并没有加入git库,不参与版本控制。 通过”git add”,”git commit”可将它放入版本库。
unmodify(未修改):文件已经存在库中但是未修改,即版本库中的文件快照内容与文件夹中完全一致。当文件通过“git add”被添加到暂存区,然后执行“gti commit”将文件提交到版本库中,这个时候文件就处于未修改状态。
modified(已修改):文件已修改,仅仅是修改,并没有进行其它操作。也就是说只要你编辑了文件,Git就会标记为已修改。
staged(暂存):执行”git commit”则将修改同步到库中,这时库中的文件与本地文件又一致了,于是文件是unmodify状态。执行”git reset HEAD filenam”取消暂存,文件状态变为modified。


言归正传,现在我们编写一个 readme.txt文件,内容如下:
Git is a version control system.
Git is free software.
和把大象放到冰箱需要3步相比,把一个文件放到Git仓库只需要两步。

第一步,用命令 git add告诉Git,把文件添加到仓库:
$ git add readme.txt
执行上面的命令,没有任何显示,这就对了,Unix的哲学是“没有消息就是好消息”,说明添加成功。
第二步,用命令 git commit告诉Git,把文件提交到仓库:
$ git commit -m "wrote a readme file"
[master (root-commit) cb926e7] wrote a readme file
 1 file changed, 2 insertions(+)
 create mode 100644 readme.txt
注:自己练习的话cb926e7这个值是不一样的,因为此值是基于 Git 中文件的内容或目录结构计算出来。
简单解释一下 git commit命令, -m后面输入的是本次提交的说明,可以输入任意内容,当然最好是有意义的,这样你就能从历史记录里方便地找到改动记录。

git commit命令执行成功后会告诉你,1个文件被改动(我们新添加的readme.txt文件),插入了两行内容(readme.txt有两行内容)。
为什么Git添加文件需要 addcommit一共两步呢?因为 commit可以一次提交很多文件,所以你可以多次add不同的文件,比如:

$ git add file1.txt
$ git add file2.txt file3.txt
$ git commit -m "add 3 files."

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Git3.创建版本库(Git仓库)&提交更新到仓库 的相关文章

  • 【NLP】Word2Vec模型文本分类

    自然语言处理之词向量模型聚类分析 Word Embedding 词嵌入向量 Word Embedding 是NLP里面一个重要的概念 xff0c 我们可以利用Word Embedding一个单词固定长度向量的表示一种表示形式 Word Em
  • (6.1)Kubernetes的Sevice服务间调用

    1 场景1 选择器 xff08 selector xff09 在k8s上运行了两个pod replicas 2 我们通过Service来整合这两个pod 在创建 Service 时 xff0c 就要通过选择器 xff08 selector
  • 【飞控算法】四旋翼飞行器控制原理与设计入门

    从动力学建模和几个四旋翼核心算法角度分析半自主飞控系统的建立 xff0c 即实现传统四旋翼的姿态控制和高度控制的过程 xff0c 文章主要借鉴了北航多旋翼设计课程 正点原子minifly微型四旋翼的资料 四旋翼无人飞行器设计 清华出版社 x
  • 【开源飞控】匿名飞控TI版解析(1)

    准备电赛的飞控题 xff0c 买来了匿名的飞控学习一下 xff0c 这里整理了一下匿名飞控中比较关键的几部分 xff0c 学习了一下原理 xff0c 然后代码解读都写注释里了 xff0c 篇幅较长 目录 一 遥控器信号接收 1 代码解读 2
  • 【开源飞控】匿名飞控TI版解析(2)

    因为电赛 xff0c 买来匿名飞控研究一下 xff0c 感觉相比其他的一下开源飞控 xff0c 易开发性和稳定性都是比较好的 xff0c 但就是比较贵 匿名TI版飞控是从32版改过来的 xff0c 硬件上就换了个芯片 xff0c 程序里也有
  • ROS中机器人与电脑的网络配置

    打开网络连接菜单 xff1a 选择网络 xff0c 输密码 并连接 xff08 以350502为例 xff0c 这里我就不连进去这个WiFi了 xff0c 还是连回402 xff0c 意思到了就行 xff09 查看连接信息 xff08 GU
  • ROS学习笔记之——gazebo仿真

    本博文是本人学习gazebo的学习记录 Gazebo是一款3D仿真器 xff0c 支持机器人开发所需的机器人 传感器和环境模型 xff0c 并且通过搭载的物理引擎可以得到逼真的仿真结果 Gazebo是近年来最受欢迎的三维仿真器之一 xff0
  • ROS学习笔记之——gazebo模型(URDF)

    最近在学习gazebo仿真 在之前博文里面 学习笔记之 gazebo仿真 xff0c 在介绍深度相机的ROS插件的时候 xff0c 涉及到了gazebo里面的一些模型文件架构的定义 本博文主要是对模型文件的定义做学习记录 目录 Model
  • ROS学习笔记之——ROS与gazebo之间的控制关系

    之前博客 学习笔记之 gazebo仿真 有采用用ricz来监控gazebo中的机器人 本博文对其进行深入的介绍 本文以 ROS学习笔记之 gazebo模型 xff08 URDF xff09 中的RRBot为例 目录 ros control
  • ROS学习笔记之——移动机器人的导航

    之前博客 ROS学习笔记之 激光雷达SLAM建图 已经介绍过如何通过激光雷达SLAM建图了 xff0c 本博文讲一下ROS机器人的导航相关 目录 导航相关理论介绍 导航的概述 costmap AMCL Dynamic Window Appr
  • ROS学习笔记之——EKF (Extended Kalman Filter) node 扩展卡尔曼滤波

    最近正好准备想试试利用EKF实现多传感器的融合 但没想到本身ROS里面就已经有EKF的功能包了 这个包用于评估机器人的3D位姿 xff0c 使用了来自不同源的位姿测量信息 xff0c 它使用带有6D xff08 3D position an
  • ROS学习笔记之——路径规划及avoid obstacles

    之前博客 ROS学习笔记之 Navigation Stack及路径规划 介绍了navigation stack xff0c 其中涉及到的amcl 路径规划以及避障还没有详细的展开 目录 AMCL 路径规划 全局路径规划中的地图 栅格地图 x
  • 【LeetCode】LCS最长公共子序列

    最长公共子序列 题目描述思路分析递归结构算法实现输出最长子序列算法实现 题目描述 思路分析 设A 61 a0 xff0c a1 xff0c xff0c am xff0c B 61 b0 xff0c b1 xff0c xff0c bn xff
  • ROS实验笔记之——基于ArUco Marker来估算camera的位姿

    最近在做课程的project的时候 xff0c 实现了基于Marker的3D 2D的相机位姿估计算法 写下本博文作为学习记录用 xff5e 先看看整体的实现效果 基于ArUco Marker来估算camera的位姿 目录 安装ArUco A
  • ROS实验笔记之——基于Prometheus自主无人机开源项目的学习与仿真

    最近在公众号上看到Prometheus无人机的资料 xff0c 发现里面开源了很好的无人机的仿真环境 xff0c 并且有很好的教程 而本人正好在上 Introduction to Aerial Robotics 的课程 xff0c 正好搭建
  • ROS实验笔记之——基于Prometheus的控制模块

    之前博客 ROS实验笔记之 基于Prometheus自主无人机开源项目的学习与仿真 已经介绍过Prometheus项目 本博文继续学习其中的控制模块 xff5e ROS无人机仿真之轨迹跟踪 ROS无人机仿真之航点跟踪 目录 仿真功能启动脚本
  • 学习笔记之——VIO与VINS-Mono

    本博文为本人学习VIO与VINS的学习笔记 xff0c 部分内容来源于网上的资料 xff0c 文末给出参考 本博文仅仅为本人学习记录用 xff0c 不作任何商业用途 先给出复现的demo 视觉惯导紧融合VINS Mono的复现 目录 VIO
  • ROS学习笔记之——PX4开发初入门

    PX4 是一款专业级飞控 它由来自业界和学术界的世界级开发商开发 xff0c 并得到活跃的全球社区的支持 xff0c 为从竞速和物流无人机到地面车辆和潜水艇的各种载具提供动力 目录 基本概念 QGroundControl xff08 QGC
  • ROS实验笔记之——PX4仿真

    之前博文 ROS学习笔记之 PX4开发初入门 ROS学习笔记之 PX4生态系统 已经对PX4做了一些基本的学习 xff0c 并且在mac上搭建了px4开发环境 本博文在ubuntu下对PX4进行一些基本的仿真学习 xff5e 之前在做无人机
  • ROS学习笔记之——基于QGC的PX4在线仿真调PID

    之前博客 ROS实验笔记之 PX4仿真 已经介绍了PX4编译及QGC的安装 xff0c 本博文进一步的基于QGC进行仿真控制 基于QGC的PX4在线仿真 首先运行基于px4的gazebo仿真 make px4 sitl default ga

随机推荐

  • ROS学习笔记之——PX4位置环PID控制

    之前博客 ROS学习笔记之 基于QGC的PX4在线仿真调PID 已经学习了如何在仿真环境下 xff0c 调节PID位置环与姿态环 本博文细细的看一下PX4位置环PID调节 如下图所示 输入的是期望的位置 xff0c 然后外环是P控制 而内环
  • ROS实验笔记之——JCV-450无人机初入门

    最近测试了阿木实验室的JCV 450无人机 本博文记录本人使用及实验的过程 目录 基本设置 注意点 飞行前调试 一 加载固件 二 加载参数 三 校准传感器 四 遥控器校准 五 飞行模式 六 电调校准 七 检查参数 QGC的使用 首先看一下飞
  • ROS学习笔记之——MSCKF

    原理 精度方面 xff0c MSCKF应该与graph optimazation差不多 xff0c 但是其对算力要求没有那么高 xff5e http www xinliang zhong vip msckf notes header n13
  • FreeRTOS调试神器分享

    在B站看到的大神的分享 xff0c 记录一下 xff1a FreeRTOS调试神器 xff01
  • ROS实验笔记之——Intel Realsense l515激光相机的使用

    最近实验室购买了Intel Realsense l515相机 本博文记录使用过程 驱动安装 先到官网安装驱动 xff1a https github com IntelRealSense realsense ros https github
  • ROS实验笔记之——VINS-Mono在l515上的实现

    之前博客 ROS实验笔记之 Intel Realsense l515激光相机的使用 实现了用l515运行RTABmap xff0c 本博文试试在l515上实现vins mono 首先需要将vins mono配置成功 xff0c 如果出现像之
  • ROS学习笔记之——EVO工具的使用

    之前博客 ROS学习笔记之 VICON的使用 用vincon获得了机器人的真实轨迹 xff0c 并且通过amcl可以获得了机器人的定位结果 xff0c 下面通过EVO包来表征performance xff08 本文不像网上大部分博客复制粘贴
  • ROS实验笔记之——无人机在VICION下试飞

    之前博 ROS实验笔记之 自主搭建四旋翼无人机 ROS实验笔记之 JCV 450无人机初入门 ROS实验笔记之 基于Prometheus自主无人机开源项目的学习与仿真 已经介绍过一些无人机的仿真 xff0c 试飞 本博文基于vicion实现
  • ROS学习笔记之——无人机PID调参过程记录

    问题描述 最近搭建了一架无人机如下 飞行demo self design Quadrotor flighting test2 但是在手飞过程 xff0c 发现陀机很烫 应该是由于pid没调 xff0c 然后机臂抖动导致的发热 接下来 xff
  • 基于可见光通信的室内定位与导航及物联网应用

    本人从2014年起从事可见光通信 xff08 Visible Light Communication VLC xff09 相关研究 xff0c 主要包括 xff1a 基于光电二极管 xff08 PD xff09 图像传感器 xff08 ca
  • ROS实验笔记之——FAST-LIVO

    最近IROS22的FAST LVIO源码开源了 xff0c 笔者赶紧测试一下 源码链接 xff1a GitHub hku mars FAST LIVO A Fast and Tightly coupled Sparse Direct LiD
  • 算法学习笔记

    最近无意中看到一个算法的网站 xff0c 看着感觉介绍得挺系统的 xff0c 虽然做算法以及指导学生开发各种算法这么些年了 xff0c 却没有真正系统的学习过 xff08 几年前啃过算法导论 xff0c 但是苦于那蹩脚的中文翻译 xff0c
  • 2023年可见光通信(LiFi)研究新进展

    可见光无线通信Light Fidelity xff08 LiFi xff09 又称 光保真技术 xff0c 是一种利用可见光进行数据传输的全新无线传输技术 LiFi是一种以半导体光源作为信号发射源 xff0c 利用无需授权的自由光谱实现无线
  • 论文阅读笔记之——《Toward Convolutional Blind Denoising of Real Photographs》及基于pytorch的CBDNet的复现

    本文是CBDNet xff08 convolutional blind denoising network xff09 的阅读笔记 本博文分为两块 xff0c 一块是阅读笔记 xff0c 一块是本人对CBDNet的实验记录 论文链接 xff
  • C++和Windows平台的一些书籍

    从2010年学习编程以来 xff0c 到现在有差不多3年时间了 xff0c 过的真快啊 目前在深圳工作 xff0c 主要使用的是C 43 43 语言 xff0c 那么我就说说C 43 43 和Windows平台的书籍吧 1 C primer
  • 程序员提升之排查bug的能力

    不知不觉工作已经快一年了 xff0c 从开始工作以后 xff0c 跟着大神们学习了很多 xff0c 从一个小白慢慢的成长起来 xff0c 从我目前的经验来看 xff0c 我要感谢bug xff0c 这里的bug并不单单是指bug xff0c
  • CMakeList编译报错ninja: error: missing and no known rule to make it解决方法

    Android NDK开发引用第三方库CMakeList txt编译报错 xff1a ninja error 39 XXX NDKApplication app src main cpp src main cpp armeabi v7a l
  • 关于Java学习的心得体会

    大一的第二学期 xff0c 满心欢喜的期待着自己的专业课 xff0c 上个学期C语言老师和我们说C语言只是入门 xff0c 我们还学得如此吃力 心中已经能够想到本学期的心酸了 xff0c 果不其然 xff0c 老师说本学期不学C 43 43
  • 项目管理第十三章项目相关方管理

    项目管理第十三章项目相关方管理 项目相关方管理 xff1a 包括识别能够影响项目或会受项目影响的人员 团体或组织 xff0c 分析相关方对项目的期望和影响 xff0c 制定合适的管理策略来有效调动相关方参与项目决策和执行 其过程包括 xff
  • Git3.创建版本库(Git仓库)&提交更新到仓库

    创建版本库 Git仓库 什么是版本库呢 xff1f 版本库又名仓库 xff0c 英文名repository xff0c 你可以简单理解成一个目录 xff0c 这个目录里面的所有文件都可以被Git管理起来 xff0c 每个文件的修改 删除 x