【Git版本控制系统】:起步

目录

前言

版本控制

集中式与分布式的区别

Windows安装Git

核心

文件状态

工作区域

基本工作流程

配置用户信息

获取帮助 

在线资源


前言

本篇文件的环境是Windows环境下实现。

在日常工作中git少不了,所以编写本篇文章介绍Git基础,专栏会不定期更新一些Git相关内容,便于日后工作与学习。

虽然git命令很多,但是常用的只有十多个。

版本控制

   版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。

  • 可以将选定的文件回溯到之前的状态,甚至将整个项目都回退到过去某个时间点的状态
  • 可以比较文件的变化细节,查出最后是谁修改了哪个地方,从而找出导致怪异问题出现的原因,又是谁在何时报告了某个功能缺陷
  • 就算你乱来一气把整个项目中的文件改的改删的删,你也照样可以轻松恢复到原先的样子。 但额外增加的工作量却微乎其微.......

集中式与分布式的区别

集中式(SVN、CSV):

  • 每次在写代码时都需要从服务器中拉取一份下来,并且如果服务器丢失了,那么所有的就都丢失了,你本机客户端仅保存当前的版本信息,换句话说,集中式就是把代码放在一个服务器上集中管理,你的所有回滚等操作都需要服务器的支持;
  • 都有一个主版本号,所有的版本迭代都以这个版本号为主。
来自progit.pdf

分布式(Git):

  • 每个人的电脑都是服务器,当你从主仓库拉取一份代码下来后,你的电脑就是服务器,无需担心主仓库被删或者找不到的情况,你可以自由在本地回滚,提交,当你想把自己的代码提交到主仓库时,只需要合并推送到主仓库就可以了,同时你可以把自己的代码新建一份仓库分享给其它人;
  • git没有固定的版本号,但是有一个由哈希算法算出的id,用来回滚用的;
  • 有一个master仓库,这个仓库是一切分支仓库的主仓库,我们可以推送提交到master并合并到主仓库上,主仓库的版本号会迭代一次,我们客户端上的git版本号无论迭代多少次,都跟master无关,只有合并时,master才会迭代一次。
来自progit.pdf

Windows安装Git

        官方版本可以在 Git 官方网站下载。 打开 Git - Downloading Package,下载会自动开始。 

核心

使用git时的核心特征:

  • 直接记录快照信息
  • 几乎所有操作都在本地执行
  • 保证完整性
  • 一般只添加数据

文件状态

使用git时,文件基本处于以下几个状态:

  • 已修改modified

  • 已暂存staged

  • 已提交committed

来自progit.pdf,文件状态的变化周期

工作区域

使用git时,工作区域基本处于以下几个区域:

  • 工作目录

  • 暂存区

  • Git本地仓库

基本工作流程

1.修改文件 2.暂存文件(add) 3.提交更新(commit) 4.推送至远程仓库(push)

图片来自网络

配置用户信息

        安装完 Git 之后,要做的第一件事就是设置你的用户名邮件地址,每一次提交都会使用这些信息

$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@example.com

注意:如果使用了 --global 选项,那么该命令只需要运行一次,后续所有操作都会用这些信息。

检查配置信息:

$ git config --list

获取帮助 

        如果想获取git config 命令的手册,执行

$ git help config

        如果不需要全面的手册,可以快速参考,使用-h选项获取简明的帮助

$ git config -h

=========================================================================

在线资源

http://www.git-tower.com/learn

Git官网:https://git-scm.com/

简明指南:https://rogerdudler.github.io/git-guide/index.zh.html

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

unicloud JQL数据库操作介绍

JQL数据库操作 JQL,全称 javascript query language,是一种js方式操作数据库的规范。 JQL大幅降低了js工程师操作数据库的难度,比SQL和传统MongoDB API更清晰、易掌握。JQL支持强大的DB Schema,内置数据规则和权限。DB Schema 支…

与结构数列顺序有关的两个方程组

已知一组4点的结构数列顺序为, 方程组41 (5*x1)/5.0r1 (2*x23*x3)/5.0r2 (4*x21*x8)/5.0r3 (3*x32*x5)/5.0r4 (5*x5)/5.0r5 (4*x31*x14)/5.0r6 (1*x13*x41*x16)/5.0r7 (2*x32*x71*x10)/5.0r8 (2*x53*x7)/5.0r9 (2*x23*x10)/5.0r10 (2*x42*x91*x11)/5.0r11…

Vue 中使用 v-for 渲染列表时绑定 key 的重要性

在 Vue.js 中,v-for 是一个常用的指令,用于渲染列表数据到页面上。然而,在使用 v-for 渲染列表时,绑定一个 key 是至关重要的实践之一。本文将详细介绍为什么在 Vue 中使用 v-for 渲染列表时绑定 key 是如此重要,并深入…

迅为iTOP-RK3588开发板Buildroot系统功能测试

第三章 Buildroot系统功能测试 烧写buildroot系统镜像,buildroot系统镜像在网盘资料“iTOP-3588开发板\01_【iTOP-RK3588开发板】基础资料\06_iTOP-RK3588开发板Linux镜像\01_Buildroot镜像”目录下,本小节测试buildroot系统。 3.1系统启动 Buildroot系…

Qt_vc++崩溃日志分析

环境 Clion :2019.3.6 Qt :5.9.6(vc2015) 编译工具:vs2015 update3 崩溃日志收集 自行百度,会查到很多,一下代码仅供参考(来自https://blog.csdn.net/weixin_45571586/article/…

蓝桥杯-特殊日期

代码及思路详解 #include <iostream> using namespace std; int func(int n) {int sum0; while(n){sumn%10;n/10;//d得到每一位的数 }return sum; } int main() {int count0;int year,month,days[13]{0,31,28,31,30,31,30,31,31,30,31,30,31};for(year1900;year<999…

2024年腾讯云学生服务器优惠价格、续费和购买流程

腾讯云学生服务器优惠活动「云校园」轻量应用服务器2核2G学生价30元3个月、58元6个月、112元一年&#xff0c;轻量应用服务器4核8G配置112元3个月、352.8元6个月、646.8元一年&#xff0c;CVM云服务器2核4G3M公网带宽配置842.4元一年&#xff0c;腾讯云服务器网txyfwq.com分享2…

Windows系统下载安装Plex媒体服务结合内网穿透远程访问本地影音文件

文章目录 1.前言2. Plex网站搭建2.1 Plex下载和安装2.2 Plex网页测试2.3 cpolar的安装和注册 3. 本地网页发布3.1 Cpolar云端设置3.2 Cpolar本地设置 4. 公网访问测试5. 结语 1.前言 用手机或者平板电脑看视频&#xff0c;已经算是生活中稀松平常的场景了&#xff0c;特别是各…

SortedMap、NavigableMap、TreeMap介绍和使用

SortedMap、NavigableMap、TreeMap介绍和使用 SortedMap接口&#xff1a;SortedMap是一个接口&#xff0c;继承自Map接口&#xff0c;它定义了对键值对按照键的自然顺序或自定义顺序进行排序的功能。SortedMap中的键值对是按照键的顺序排列的&#xff0c;因此可以根据键的顺序…

【原创教程】汇川PLC气缸手动功能块(入门版)制作流程

1、首先在软件中的功能块鼠标右击,选择新建(如下图所示)。 2、弹出一个对话框 ,给功能块命名 ,然后确定(如下图所示)。 3、功能块(FB)中会多一个气缸手动功能块、双击进入(如下图所示)。 4、然后在功能块(FB)右边上方编辑栏定义手动所需变量(如下图所示)。 5…

C#快速入门基础

本篇文章从最基础的C#编程开始学习&#xff0c;经过非常优秀的面向对象编程思想和方法的学习&#xff0c;为C#编程打下基础。 第 01 章 C#开发环境之VS使用和.NET平台基础 1.1 Visual Studio 开发环境 1.1.1 硬件环境 i5CPUi5CPU&#xff08;建议 4核 4线程或以上 &#xff0…

Python打印输出Linux中最常用的linux命令之示例

一、Linux中的~/.bash_history文件说明&#xff1a; 该文件保存了linux系统中运行过的命令的历史。使用该文件来获取命令的列表&#xff0c;并统计命令的执行次数。统计时&#xff0c;只统计命令的名称&#xff0c;以不同参数调用相同的命令也视为同一命令。 二、示例代码&am…