Git理解和入门学习(第一天)

在这里插入图片描述

1- Git简介

  1. Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
  2. Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
  3. Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。

2- 什么是版本控制?

  • 版本控制是一种记录一个或若干文件内容变化

  • 以便将来查阅特定版本修订情况的系统

  • 将每一次的变化记录下来

  • 在未来可对每一次保存的版本进行更新和回退
    这就是版本控制


3- 为什么要使用版本控制?

  • 软件开发中采用版本控制系统是个明智的选择。

  • 有了它你就可以将某个文件回溯到之前的状态。

  • 甚至将整个项目都回退到过去某个时间点的状态

  • 就算你乱来一气把整个项目中的文件改的改删的删,

  • 你也照样可以轻松恢复到原先的样子。且额外增加的工作量却微乎其微

(它很方便,且很强大!)

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

4- Git与SVN的区别

Git和SVN都是版本控制系统工具
个人理解:Git其实就是不把鸡蛋放在同一个篮子里

  • Git 是分布式的,SVN 不是:这是 Git 和其它非分布式的版本控制系统,
    例如 SVN,CVS 等,最核心的区别。

  • Git 把内容按元数据方式存储,而 SVN 是按文件:所有的资源控制系统
    都是把文件的元信息隐藏在一个类似 .svn、.cvs 等的文件夹里。

  • Git 分支和 SVN 的分支不同:分支在 SVN 中一点都不特别,
    其实它就是版本库中的另外一个目录。

  • Git 没有一个全局的版本号,而 SVN 有:目前为止这是跟 SVN 相比 Git 缺少的最大的一个特征。

  • Git 的内容完整性要优于 SVN:Git 的内容存储使用的是 SHA-1 哈希算法。
    这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。

a. 集中式(SVN)

svn因为每次存的都是差异 需要的硬盘空间会相对的小一点  可是回滚的速度会很慢
优点: 
    代码存放在单一的服务器上 便于项目的管理
缺点: 
	网断了就没法上传:需要手动来做版本控制(复制粘贴存放)不方便
    服务器宕机: 员工写的代码得不到保障
    服务器炸了: 整个项目的历史记录都会丢失

b. 分布式(Git)

git每次存的都是项目的完整快照,需要的硬盘空间会相对大一点(只多了一点点,它是压缩才存储的)

快照:(快照是指向保存在存储设备中的数据的引用标记或指针。我们可以这样理解,快照有点像是详
细的目录表,但它被计算机作为完整的数据备份来对待)

分布式的版本控制系统在管理项目时 存放的不是项目版本与版本之间
的差异.它存的是索引(所需磁盘空间很少 所以每个客户端都可以放下整个
项目的历史记录)

(Git团队对代码做了极致的压缩 最终需要的实际空间比svn多不了太多 可是Git的回滚速度极快)
优点:
    完全的分布式
缺点:    
    学习起来比SVN陡峭

分布式的版本控制系统出现之后,解决了集中式版本控制系统的缺陷:

1. 断网的情况下也可以进行开发 (因为版本控制是在本地进行的)

2. 使用github进行团队协作
哪怕github挂了每个客户端保存的也都是整个完整的项目
(包含历史记录的!!!)


5- Git指令(掌握)

第一次要使用Git,就要配置用户名字信息和用户邮箱信息

成功修改之后,可在配置列表查看

git基础指令

指令作用 效果
git config --global user.name ‘名字’初始化配置用户名字信息
git config --global user.email 邮箱初始化配置用户邮箱
git config --list初始化配置列表查看
git --version查看git版本
git initgit初始化
git status检测当前文件状态
git add 文件名将文件加入管理
git add .将所有文件加入管理
git commit -m 'v1’生成版本

注意:git窗口和dos窗口是有本质区别的


6- Git区域

​ 1. 工作区

你在工作区做修改,git不会有实质性的操作

​ 2. 暂存区

一些小方面的修改,放入暂存区,当暂存区存入一定程度,再转入版本库

​ 3. 版本库

用来存放版本快照


7- Git底层概念基础linux命令(了解)

基础的linux命令

基本Linux指令作用效果
clear清除屏幕
echo 'test content’往控制台输出信息 echo ‘test content’ > test.txt
ll将当前目录下的 子文件&子目录平铺在控制台
find 目录名将对应目录下的子孙文件&子孙目录平铺在控制台
find 目录名 -type f将对应目录下的文件平铺在控制台
rm 文件名删除文件
mv 源文件 重命名文件重命名
cat 文件名查看对应文件的内容
vim 文件名 (在英文模式下)按 i 进插入模式 进行文件的编辑
vim 文件名 (在英文模式下)按 esc 键&按:键 进行命令的执行
vim 文件名 (在英文模式下)q! 强制退出(不保存)
vim 文件名 (在英文模式下)wq 保存退出
vim 文件名 (在英文模式下)set nu 设置行号

8- 初始化新仓库

命令:git init

​ **解析:**要对现有的某个项目开始用Git管理

​ 只需到此项目所在的目录,执行:git init

​ **作用:**初始化后,在当前的目录下会出现一个名为 .git 的目录,

​ 所有Git需要的数据和资源都存放在这个目录中。

​ 不过目前,仅仅是按照既有的结构框架初始化好了里面所有的文件和目录,但我们还没有开始跟踪管理项目中的任意一个文件.

了解

9- .git目录内文件说明

.git目录 中的文件

目录名目录包含信息
hooks目录包含客户端或服务端的钩子脚本
info包含一个全局性排除文件
logs保存日志信息
objects目录存储所有数据内容
refs目录存储指向数据的提交对象的指针(分支)
config文件包含项目特有的配置选项
description用来显示对仓库的描述信息
HEAD文件指示目前被检出的分支
index文件保存暂存区信息

今日总结

SVN和Git都是版本控制系统的工具
Git的分布式管理是Git较于SVN的优胜点之一
且Git回滚速度快于SVN.相较于SVN,Git在版本控制这方面强大的功能已经完胜
(Git YYDS)
学习了Git的基础指令,以及了解了Linux的一些基础指令
对初始化指令git init 后生成.git目录内文件的了解
github就是git的中央服务器
GitHub是一个远端仓库,当公司遇到什么大型的疑难BUG后
可以通过GitHub来发送远程求助,最终达到一个解决问题的目的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
第一天上班,我进行了git拉取代码的前端实战。 我首先登录了公司的git平台,然后找到了我负责的项目仓库。为了克隆这个项目到我的本地,我复制了仓库的URL地址,并在命令行中输入了“git clone”命令,然后粘贴了URL地址。执行完这个命令后,git就自动开始了克隆操作。 克隆完成后,我进入了刚刚克隆下来的项目目录。通过查看项目中的文件结构,我对整个项目的文件组织和各个文件的作用有了初步的了解。 接下来,我打开了编辑器,开始阅读项目中的代码。首先,我阅读了项目的README文件,里面记录了项目的简要说明、环境依赖、安装和运行方法等重要信息。 我对项目中的HTML、CSS和JavaScript文件进行了逐个阅读,试图理解项目的整体架构和功能实现。我注意到在其中一些文件中,有些地方需要我根据设计稿进行样式的调整,于是我当时就立即写下了一些注释和标记,以便后续更好地进行修改。 在阅读代码的过程中,我发现了一些问题和bug,于是我将它们记录在了一个问题清单上,以便日后和团队成员一起讨论和解决。 整个过程中,我克服了一些git操作上的困难,提高了自己对git的使用熟练度。通过实际操作,在拉取代码的过程中,我理解git的基本原理和命令,并掌握了常用的git操作技巧。 第一天上班的git拉取代码前端实战让我对项目有了初步的了解,并且让我感受到了团队合作和解决问题的重要性。我认为这次实战经历对我今后的工作会起到很大的帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值