当前位置: 首页 > news >正文

设计网站报价企业网络推广方案策划书

设计网站报价,企业网络推广方案策划书,跨境电商有哪些平台,网站建设目标的文字一.Git的定义简单来说,Git 是一个分布式版本控制系统。我们来拆解一下这个定义:版本控制:就像玩 RPG 游戏时的“存档”。写代码、写文档时,你可能会不断地修改。版本控制就是帮你把每一次重要的修改都“存档”下来。你可以随时查看…

一.Git的定义

简单来说,Git 是一个分布式版本控制系统

我们来拆解一下这个定义:

  • 版本控制:就像玩 RPG 游戏时的“存档”。写代码、写文档时,你可能会不断地修改。版本控制就是帮你把每一次重要的修改都“存档”下来。你可以随时查看历史记录、知道每次改了什么地方、是谁改的,并且可以随时“读档”,恢复到任何一个之前的版本。

  • 系统:它是一个工具,一套软件。

  • 分布式:这是 Git 最核心的特点。每个参与项目的人电脑里都拥有整个项目的完整历史记录(一个完整的仓库),而不只是最新的文件。这意味着你可以在本地工作(比如提交代码、查看历史),而无需联网。这也意味着每个人的电脑都是一个完整的备份。

一个生动的比喻:
Git 就像一台 “时间机器” 。你可以乘着它回到项目历史上的任何一个时间点,看看当时是什么样子,或者从那个时间点开始一个新的方向,而不会影响主线发展。

如果没有Git?

我们玩游戏只能一条路走到黑,一旦出现问题就真的gameover了。。。

Git的出现正是解决了这个痛点。在Git的版本控制功能下,每一个版本的文件如何更改都会被记录下来,如果出现一些特殊情况,可以及时读档——获取历史版本,这样管理不同版本的文档就安全又高效。

二.Git的工作方式

1.下载并安装Git

要介绍Git的工作方式,我们不妨先把Git安装到当前主机。

首先可以通过该指令查看当前主机有没有下载Git

git --version

结果如下:可以看到我当前的主机是下载并安装了Git的。

wujiahao@VM-12-14-ubuntu:~$ git --version
git version 2.34.1

如果没有显示版本信息,那么可以用该指令下载并安装(这里用ubuntu系统为例)

sudo apt-get install git -y

2.Git基本操作

我们不妨现在当前家目录下创建一个gitcode目录

wujiahao@VM-12-14-ubuntu:~$ pwd
/home/wujiahao
wujiahao@VM-12-14-ubuntu:~$ ls
gitcode

接着我们对这个目录进行初始化,出现下列的提示信息则代表初始化成功。

git init

wujiahao@VM-12-14-ubuntu:~$ ls
gitcode
wujiahao@VM-12-14-ubuntu:~$ cd ./gitcode
wujiahao@VM-12-14-ubuntu:~/gitcode$ git init
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint: 
hint: 	git config --global init.defaultBranch <name>
hint: 
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint: 
hint: 	git branch -m <name>
Initialized empty Git repository in /home/wujiahao/gitcode/.git/

然后,我们来看一下gitcode初始化之后是什么样的。

tree .git

wujiahao@VM-12-14-ubuntu:~$ cd ./gitcode
wujiahao@VM-12-14-ubuntu:~/gitcode$ tree .git
.git
├── branches
├── config
├── description
├── HEAD
├── hooks
│   ├── applypatch-msg.sample
│   ├── commit-msg.sample
│   ├── fsmonitor-watchman.sample
│   ├── post-update.sample
│   ├── pre-applypatch.sample
│   ├── pre-commit.sample
│   ├── pre-merge-commit.sample
│   ├── prepare-commit-msg.sample
│   ├── pre-push.sample
│   ├── pre-rebase.sample
│   ├── pre-receive.sample
│   ├── push-to-checkout.sample
│   └── update.sample
├── info
│   └── exclude
├── objects
│   ├── info
│   └── pack
└── refs├── heads└── tags9 directories, 17 files

最后来配置一下本地仓库的个人信息:姓名,邮箱。

wujiahao@VM-12-14-ubuntu:~/gitcode$ git config user.name "wjh"
wujiahao@VM-12-14-ubuntu:~/gitcode$ git config user.email "xxx@qq.com"
wujiahao@VM-12-14-ubuntu:~/gitcode$ git config -l
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
user.name=wjh
user.email=xxx@qq.com

根据这个目录结构,我们再来谈谈Git的工作方式。

3.Git的工作方式

Git是版本控制工具,并且可以管理控制任意类型的文件,但只有它们在仓库下才可被进行管理。而.git就是这个追踪管理仓库

问题1:当文件在gitcode中,可以被进行版本控制吗?

回答1:不能,因为它并不在“仓库”中。

问题2:那么把文件mv到.git中,就可以被进行版本控制了吗?

回答2:不能,.git目录不允许任何手动的操作或修改,这可能会导致Git无法正常使用。

那么一个(批)文件究竟该怎样才能被Git进行版本控制呢?请看下图:

1.工作区

Git整个工作的区域可以看作以上图,工作区就是我们上面创建的gitcode(.git虽然在gitcode目录下,但.git并不是工作区,注意区分)。工作区主要用于存放我们将要进行处理的文件。

2.版本库

版本库中有许多内容,但我们主要拿这三个出来说:暂存区stage(也叫index),对象库objects,和master分支。

暂存区:英⽂叫 stage 或 index。⼀般存放在 .git ⽬录下的 index ⽂件(.git/index)中,我们把暂存区时也叫作索引(index)

对象库:这里真正存储着版本控制的git对象,修改的工作区内容会写入对象库的一个新的对象,而暂存区实际上存储的是这些修改对象的索引(这也是暂存区被称为index的原因),这也有轻量化的需求。

HEAD:一个指针,对应拿到master的一个分支

3.工作流程(简易版)

在创建 Git 版本库时,Git 会为我们⾃动创建⼀个唯⼀的 master 分⽀,以及指向 master 的⼀个指针叫 HEAD。(分⽀和HEAD的概念后⾯再说)。

当工作区的文档发生了修改并执行了git add指令,暂存区的目录树就会发生更新。

当执行提交操作git commit时,才会真正将暂存区的目录树写入master分支中。

因此由上得知,只有我们执行了git add指令和git commit指令后才能将文件添加至代码仓库进行管理,单纯地将文件新建或者粘贴到工作区是无法进行管理的。

 

http://www.dtcms.com/a/411457.html

相关文章:

  • 做内容网站好累网泰网站建设网络推广
  • 自己做网站app信阳企业网站开发
  • 软件详细测评一:百宝音配音平台
  • 建站所有步骤国际新闻最新消息今天新闻大事件视频
  • 网站的互动功能seo的中文意思
  • 辽宁省精神文明建设工作三大创建活动网站培训班线上优化
  • Docker 快速部署 Dify + 应用构建完整流程
  • 矩形碰撞检测
  • 队列+宽搜(BFS)-103.二叉树的锯齿形层序遍历-力扣(LeetCode)
  • 使用Eigen矩阵库,计算Ax = B (m>n)矩阵的方法
  • MIT 6.S081 文件系统的基本结构 (Lab10:File system)
  • 跨境电商建站公司北京建设安全网络平台87
  • 【读书笔记】深入理解JVM C1~3
  • Spring Boot携手Leaflet,点亮省级旅游口号WebGIS可视化之路
  • 第一次备考怎么记笔记?三步模板直接用​
  • 网站建设基础筹备宁河做网站公司
  • 中小型网站建设与管理总结免费h5生成网站
  • 有哪些做的好的汽配零配件网站代理网站哪个好
  • 2025GUI项目实践:Unity编辑模式下GUI运行
  • C语言:10行杨辉三角形
  • 软件开发和网站建设哪个好广西建筑培训网
  • GPU微架构演进分析--从SIMT到Scalar-Vector-Tensor计算的混合配比与调度
  • app应用网站源码建设通会员多少钱一个月
  • 分布式 WebSocket 架构设计与实现:跨节点实时通信解决方案
  • 君临天下游戏网站开发者专业的东莞网站排名
  • MHC-Net
  • 分布式专题——23 Kafka日志索引详解
  • 上海殷行建设网站天津宏宇网站建设
  • 作为 PHP 开发者,我第一次用 Go 写了个桌面应用
  • 档案网站的建设方案网站建设需要服务器么