Git入门超详细文档

2023-11-18

Git

在这里插入图片描述

Git概述

Git是一个免费的,开源的分布式版本控制系统,可以款速高效的处理从小型到大型的各种项目

Git易于学习,占地面积小,性能极佳, 它具有廉价的本地库, 方便的暂存区域和多个工作流分支等特性.

其性能优于Subversion, CVS,Perforce和ClearCase等版本控制的工具

什么叫版本控制

我们一直都叫Git为版本控制器,那你知道什么叫版本控制吗?下面由我来给你解答

版本控制实际上是一种记录你文件内容变化,以便将来查阅特定版本修订情况的系统.

版本控制其实最重要的是可以记录文件修改的历史记录,从而让用户能够查看历史版本,方便版本间的切换

为什么要用版本控制

因为你从个人开发过渡到团队的开发, 有了它你就可以将某个文件回溯到之前的状态,甚至将整个项目都回退到过去某个时间点的状态。

就算你乱来一气把整个项目中的文件改的改删的删,你也照样可以轻松恢复到原先的样子。但额外增加的工作量却微乎其微。

你可以比较文件的变化细节,查出最后是谁修改了哪个地方,从而找出导致怪异问题出现的原因,又是谁在何时报告了某个功能缺陷等等。

Git的工作机制和代码托管中心

Git的工作机制分为:工作区, 暂存区, 本地库

工作区:你自己或团队写代码的地方

暂存区:在Git中执行git add 的命令会把你工作区的代码添加到暂存区,做一个临时存储的功能,会跟踪你的所有文件

本地库:在Git中执行git commit 的命令会把你暂存区的代码提交到你的本地库,然后会生成一个版本. 注意:生成版本后版本不可删除!!! 因为你后面的版本要依托于前面的版本才能创建出一个新的版本!!!

代码托管中心:代码托管中心是基于网络服务器的远程代码仓库,一般我们简单的称他为远程库,

互联网的远程库如:GitHub(国外), Gitee码云(国内网站),全世界都可以查看和访问

局域网的远程库如:GitLab(用于公司的开发),除公司以外的人不可查看和访问

Git的下载和安装

Git官方下载网站:点击下载Git

先进入Git官方网站,然后点击那个屏幕下的长条,点击后会自动识别你电脑是什么系统,是64位还是32位,然后自动下载

安装

下载完成后就会出现下面的安装包,然后需要双击运行它

在这里插入图片描述

一直Next下一步,直到:

在这里插入图片描述

选择 Git 命令的执行环境, 这里推荐选择第一个, 就是单独用户 Git 自己的命令行窗口. 不推荐和 windows 的命令行窗口混用

在这里插入图片描述

在“Configuring the line ending conversions”选项中,

第一个选项:如果是跨平台项目,在 windows 系统安装,选择;

第二个选项:如果是跨平台项目,在 Unix 系统安装,选择;

第三个选项:非跨平台项目,选择。

安装成功后:右键菜单,会多出以下选项卡

在这里插入图片描述

然后右击点击 Git Bash Here 进入Git窗口执行 git --version 命令来查看你Git的版本号

在这里插入图片描述

完成以上步骤后,就代表你已经安装完Git, 你就可以使用Git这个专业的分布式版本控制系统

Git的常用命令

命令名称 作用
git config --global user.name 用户名 设置用户签名
git config --global user.email 邮箱 设置用户签名
git init 初始化本地库
git status 查看本库状态
git add 文件名(如:a.txt) || 文件路径 添加到暂存区
git commit -m “文件信息” 文件 提交到本地库
git reflog 查看历史记录
git reset --hard 版本号 版本穿梭(版本切换)
说明:签名的作用是区分不同的操作者身份. 用户的签名信息在每一个版本的提交信息中能够看到,以此确认本次提交是谁做的.Git首次安装必须要设置一下用户签名,否则无法提交代码

注意:这里设置的用户签名和将来登录的 GitHub (或其他的代码托管中心)的账号没有任何关系

注意:生成版本后版本不可删除!!! 不可删除!!! 不可删除!!!

总结

1.Git是一个免费的,开源的分布式版本控制系统

2.Git多用于团队, 公司项目时用的

3.Git有很重要的版本控制功能,它可以让用户能够查看历史版本,方便版本间的切换

最后作者创作不易,如果文章对你有帮助的话,记得给个点赞关注

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

Git入门超详细文档 的相关文章

  • crypto-js 中的 AES 解密返回空字符串

    我正在尝试将加密数据存储在 localStorage 中 并在需要时使用 crypto js 对其进行解密 这是加密函数 const passphrase CryptoJS enc Utf8 parse key const iv Crypt
  • 在 `data:` URI 中转义 SVG 的正确方法?

    Chrome 最近已启动使用换行符阻止 URL 和 lt 人物 https www chromestatus com features 5735596811091968 我维护的应用程序严重依赖数据 URI 中的 SVG 图像 data i
  • 在原子操作中测试和递减?

    我刚刚发现了一个恼人的错误 它基本上是一个竞争条件 为了便于论证 我们假设一个非常简单的文档结构 例如 id XXX amount 100 集合中存在数百个这样的文档 并且由多个编写器访问 这些编写器有效地尝试将数量降低任何值 但绝不会低于
  • 使用过渡添加子项时 div 的平滑增长

    尽管使用了以下代码 但其行为并不符合我的预期transition所以可能有些事情我不明白 理想情况下 单击该按钮会将一个子项添加到id2div 并制作id1分区增长smoothly因此 function id1 button click g
  • 为什么我在 ECMAScript / ActionScript 3 中看到不精确的浮点结果?

    大家好 让我们直接跳到代码示例 以展示 ECMAScript JavaScript AS3 如何无法正确执行简单的数学运算 AS3 对 Number 类使用 IEEE 754 双精度浮点数 据说与JavaScript 中使用的 trace
  • 如何使单词中的每个字母在悬停时发生变化

    假设我的网站上某个段落中有一个单词 IamGreat 我希望它在悬停时更改为 Good4you 但是 我不想更改整个单词 而是希望每个字母单独更改 因此 如果我将鼠标悬停在字母 I 上 它将变成字母 G 字母 r 将变成数字 4 等 这两个
  • Apache 服务器上的服务器端 Javascript

    我们打算使用Apache https httpd apache org 用于 Web 开发的服务器 对于服务器端脚本 我们希望使用服务器端 javascript 要使服务器端 javascript 在 Apache 服务器上工作需要什么 S
  • jQuery 或 JavaScript 中的“$”符号是什么意思? [复制]

    这个问题在这里已经有答案了 可能的重复 JavaScript 中 符号的含义是什么 https stackoverflow com questions 1150381 what is the meaning of sign in javas
  • 有没有一种方法可以使页面布局在 100% 缩放下完美契合,同时又尊重更大的缩放系数?

    有多种方法可以布局网页 使其适合浏览器视口 DOMwindow 当我说 适合 时 我包括更改所用字体的大小 更改 DIV IMG 和其他渲染元素的宽度和高度 以及允许元素 流畅 移动 目标是使页面在所有显示设备 从小型手机到大桌面屏幕 上看
  • jQuery 选择器在控制台中不起作用

    我一辈子都无法解决这个问题 我正在运行 js 容器状态 是页面上正在运行的 js 的控制台日志 它显示一个选择器 但如果我想在控制台中执行任何操作 它只会返回 null 我假设我在某个地方过度编写了 jQuery 函数 就好像我调用了 jQ
  • 如何使用 jQuery 通过单击按钮来选择下拉列表中的所有值?

    如何通过在 JavaScript 中使用 jQuery 单击按钮来选择下拉列表中的所有值 function select children option attr selected selected 应该做 当然你需要一个SELECT具有属
  • 使用 git 同时维护不同版本的代码

    我有一个需要优化的代码 我想同时维护一组版本的代码 每个版本可以描述为一些功能 优化的组合 最终 我将决定哪个版本是最好的 我不想将这些版本合并为更少的版本 但是 我希望能够对 大 源文件进行 小 修改 这可能会跨版本转移 并且我希望这一修
  • 解析 PHP 响应:未捕获的语法错误:意外的标记 <

    我正在使用 AJAX 来调用 PHP 脚本 我唯一需要从响应中解析的是脚本生成的随机 ID 问题是 PHP 脚本会引发许多错误 这些错误实际上很好 不会妨碍程序功能 唯一的问题是当我跑步时 parseJSON response I get
  • 在 WordPress 和 woocommerce 中禁用 zxcvbn.min.js

    如您所知 zxcvbn min js 约为 400kb 并且默认在 WordPress 网站中加载 我想知道如何阻止加载此 JavaScript 库 因为我不想在我的网站中检查密码长度 将以下内容添加到主题的 function php 或自
  • JavaScript 匿名函数语法

    下面两个块有什么区别 block 1 console log anonymous block block 2 function anon console log anonymous block 2 我在 Netbeans 中运行了这个 使用
  • QUnit 与固定装置的奇怪行为,测试交替失败和通过

    我在 QUnit 中进行了以下设置 Dozen or so previous tests here test Test some markup generation function qunit fixture plugin jQuery
  • “WebSocket 在连接建立之前已关闭”是什么意思?

    我正在使用 JavaScript 和联盟平台 http www unionplatform com我该如何诊断这个问题 非常感谢 如果你去http jsbin com ekusep 6 edit http jsbin com ekusep
  • Electron Auth0Lock“原始文件://不允许”

    尝试让 auth0 与我的电子应用程序一起使用 当我按照默认教程并尝试使用用户名 密码 身份验证进行身份验证时 锁定失败并显示 403 错误 并响应 不允许使用 Origin file 我还在 auth0 仪表板中客户端设置的允许来源 CO
  • 从另一台服务器读取 Node.js 中的大文件

    我有两台相互通信的服务器 Server1 向 Server2 请求文件的部分内容 并将收到的数据存储到一个文件中 Server2 应该接收每个请求并创建一个流管道传输数据 假设服务器2中存储的文件 目录 如下 bigfile gz bigf
  • 查看元素的所有 dom 事件

    我有一个 jQuery UI 日期选择器 当您单击日期时 它会清除我的 URL 哈希值 并且不会更改文本框中的日期 我假设某个地方还有其他一些 JavaScript 实用程序 它也正在调用某种委托事件 抛出错误并终止 jquery 处理程序

随机推荐

  • 信奥:1001Hello,World! 1002输出第二个整数 1003对齐输出

    include
  • Qt WebAssembly实验记录

    文章目录 1 安装及介绍 2 问题及解决方案 2 1 在C 中调用js函数 2 2 中文无法显示 乱码 2 3 无法输入中文 2 4 qt对应的emsdk版本 2 5 文件的下载以及上传 2 6 设置调试时的网页浏览器 2 7 编译时报空间
  • 睿象云入围

    睿象云入围 腾讯云原生加速器首期成员名单 6月30日 开源向善 应云而生 腾讯云原生加速器公布了首期入选企业名单 睿象云等 38 家优秀云原生企业从全球500多家参与企业中脱颖而出 携手腾讯共建云原生生态 面向云原生未来加速启航 产业数字化
  • 基于 ZooKeeper 搭建 Kafka 高可用集群

    kafka简介与应用场景 Apache Kafka是分布式发布 订阅消息系统 在 kafka官网上对 kafka 的定义 一个分布式发布 订阅消息传递系统 它最初由LinkedIn公司开发 Linkedin于2010年贡献给了Apache基
  • UE4学习笔记--连接MySQL数据库(C++)

    UE4学习笔记 连接MySQL数据库 我个人是个比较水的人 在学校没好好学程序 不误正业的玩建模 现在美术和程序都不行 想想还是重新认真学程序吧 先从记笔记开始 话说我还是第一次写博客 我是跟着几位大佬的博客做的 记录一下自己的问题 以免以
  • CompletableFuture异步

    更多文章 关注 码视野 CompletableFuture是Java 8提供的一种异步编程方式 它以函数式编程API的形式提供了丰富的异步操作接口 相比于传统的Future异步方式 CompletableFuture更为灵活和易用 可以轻松
  • linux创建文件夹主机名,Linux创建、删除文件和文件夹命令

    今天学习了几个命令 是创建 删除文件和文件夹的 在linux里 文件夹是目录 下面说下我学习的命令 接下来是小编为大家收集的Linux创建 删除文件和文件夹命令 欢迎大家阅读 Linux创建 删除文件和文件夹命令 创建文件夹 mkdir 一
  • Zotero使用笔记—文献管理、做笔记、文献引用、数据备份

    先贴一张zotero的大头照 步入正题 依次介绍zotero的几大功能 一 中英文 文献管理 先看了视频1和视频2这两个基本使用教程 浏览器又搜了一点 学到了 zotero用一个条目存储一篇文献的基本信息和PDF zotero中添加一个条目
  • 注册表:无法打开 XXX 由于某个错误无法打开该密钥。详细信息:拒绝访问

    错误原因 没有注册表用户权限 正确添加用户权限的步骤如下 跟着图片步骤 右击该项 权限 选中想要添加为当前所有者的用户后 点击应用 如果没用户显示 可以从 其他用户或组 中添加进来 权限添加完毕 转载于 https www cnblogs
  • 什么吃掉了我的硬盘?

    什么吃掉了我的硬盘 http www am82 com houzan archives 4550 posted on 2010 08 15 20 29 lexus 阅读 评论 编辑 收藏 转载于 https www cnblogs com
  • L2TP和PPTP的区别

    用最短的时间搞清楚L2TP和PPTP的区别 一 相关知识铺垫 1 虚拟隧道协议 一种通过公共网络的基础设施 在专用网络或专用设备之间实现加密数据通信的技术 通信的内容是可以是任何通信协议的数据包 隧道协议将这些协议的数据包重新封装在新的包中
  • 离散系统的变换域分析【数字信号处理四】

    离散系统的变换域分析 一 求系统H z 的零 极点 幅频响应和相位响应 二 用Matlab验证DFT运算的对称性质 三 产生数字线性调频信号 分析时域波形和频谱特性 四 设计简单的OFDM系统 并验证循环前缀的作用 一 求系统H z 的零
  • (黑客)自学笔记

    一 自学网络安全学习的误区和陷阱 1 不要试图先成为一名程序员 以编程为基础的学习 再开始学习 行为 从编程开始掌握 前端后端 通信协议 什么都学 缺点 花费时间太长 实际向安全过渡后可用到的关键知识并不多 很多安全函数知识甚至名词都不了解
  • Xception论文解读

  • make/makefile的使用

    make makefile 文章目录 make makefile 初步认识makefile的工作流程 依赖关系和依赖方法 make的使用 总结 make是一个命令 是一个解释makefile中指令的命令工具 makefile是一个文件 当前
  • oracle数据库中输入date类型的数据

    给oracle数据库已有记录中更新date类型的数据 插入date类型的格式 to date 2016 01 03 12 23 19 yyyy mm dd hh24 mi ss 2016 01 03 12 23 19 表示想要插入的时间 y
  • 华为鸿蒙os今日新闻,华为正式发布鸿蒙OS,却再次被质疑

    6月2日 市场瞩目的鸿蒙产品发布会成功举办 此次华为还连发三款搭载鸿蒙系统的硬件 华为 MatePad Pro 平板 华为 Watch 3 智能手表和华为 FreeBuds 4 TWS 耳机 但事情总有两面性 喜欢你的不论你做什么都会被看好
  • 小白入坑-利用express构建一个简单的Node项目

    做了部分前端的东西 当然不能局限眼前的成果 梦想能成为全栈的大佬 然后左手一个小姐姐 右手一个富萝莉 走远了 奈于java对前端来说比较难 耗费的学习时间也比较长 所以先从node下手过一下瘾儿 首先 win r打开windows的运行框
  • 什么是堡垒机

    什么是堡垒机 1 堡垒机是用来解决 运维混乱 的 堡垒机是用来干什么的 简而言之一句话 堡垒机是用于解决 运维混乱 的 何谓运维混乱 当公司的运维人员越来越多 当需要运维的设备越来越多 当参与运维的岗位越来越多样性 如果没有一套好的机制 就
  • Git入门超详细文档

    Git Git概述 Git是一个免费的 开源的分布式版本控制系统 可以款速高效的处理从小型到大型的各种项目 Git易于学习 占地面积小 性能极佳 它具有廉价的本地库 方便的暂存区域和多个工作流分支等特性 其性能优于Subversion CV