前端妹子问我会git吗,手把手详细教程

工欲善其事,必先利其器

什么是版本控制

版本控制是用来记录文件内容变化,以便将来使用以及查看。

没有版本控制之前,我们一般会直接拷贝一份,这样做优点很明显,简单易操作,但缺点更明显,就像平时不小心覆盖掉刚写好的文件。

本地版本控制

刚学习编程的时候,你可能会自己搞一个项目,完全自主,你想怎么搞都行。想记录不同版本的修改时间,改了什么,通过文件拷贝太容易出错,就有了本地版本控制
在这里插入图片描述

集中化版本控制

工作后和同事一起协同开发,那不同机器之间怎么协同开发呢,便有了集中化版本控制,有一个单一的集中管理服务器,协同开发的同事通过连接管理服务器来更新或者提交。
在这里插入图片描述
缺点:如果管理服务器宕机了,那么谁都无法提交更新,无法协同工作。

分布式版本控制

分布式版本控制,客户端不是把最新版本保存,而是保存了代码仓库的完整镜像,所以单一的服务器宕机都不会影响代码丢失,通过任意一台客户端就能恢复
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oRDsrege-1592989979564)(en-resource://database/817:1)]

什么是Git

Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.Git is easy to learn and has a tiny footprint with lightning fast performance. It outclasses SCM tools like Subversion, CVS, Perforce, and ClearCase with features like cheap local branching, convenient staging areas, and multiple workflows. ——官网介绍

Git是一个免费的开源 分布式版本控制系统,旨在快速高效地处理从小型到大型项目的所有内容。

Git 易于学习, 占地面积小,具有闪电般的快速性能。它具有诸如Subversion,CVS,Perforce和ClearCase之类的SCM工具,具有廉价的本地分支,便捷的暂存区域和 多个工作流等功能。

Git直接记录快照,而非差异比较

Git更像是把数据看作对小型文件系统的一系列快照,在Git中,
每当你提交更新或保存项目状态时,它基本上就会对当时的全部文件创建一个快照并保存这个快照的索引。 为了效率,如果文件没有修改,Git 不再重新存储该文件,而是只保留一个链接指向之前存储的文件。 Git 对待数据更像是一个 快照流

Git的特点

  1. Git是分布式,相对于集中式,本地计算机可以拷贝一个完整的仓库
  2. Git分支保存的不是文件的变化或者差异,而是一系列不同时刻的快照
  3. Git的内容完整性优于SVN

在windows上安装Git

官网下载地址

  1. 傻瓜式默认点击下一步安装就可以
  2. 安装成功后,打开项目文件夹右击后会出现git标识
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-k6ejrPDE-1592989979567)(en-resource://database/829:0)]
初次安装成功后配置用户信息

点击Git Bash Here出现命令行
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mCm45op4-1592989979568)(en-resource://database/831:0)]

查看所有配置以及它们所在的文件

git config --list --show-origin

配置用户信息,Git每次提交都会使用配置的用户信息,所以第一次安装成功后记得配置

 git config --global user.name "shiyi"
 git config --global user.email "1282760680@qq.com"

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cqxQAQk7-1592989979569)(en-resource://database/833:0)]
查看配置信息

git config --list

查看某一项配置

git config user.name

忘记了命令获取帮助

git help <verb>

例如获取配置相关命令

git help config

如果你不需要全面的手册,想要快速上手

git add -h

有了基本的Git知识后,我们开始学习Git与仓库之间的相关操作

  • 获取Git项目仓库的两种方式
    • 把本地目录转换成Git仓库
    • 从其它服务器克隆一个已存在的Git仓库

在已存在的目录中初始化仓库

在项目目录空白处右击,点击Git Bash Here,进入命令行
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hGza6Ng0-1592989979570)(en-resource://database/835:0)]
使用git init初始化仓库

git init

文件夹中生成了.git子目录,现在我们已经初始化完成,但还未跟踪文件

把文件夹中所有的文件添加到缓存区中

git add *

把缓存区中的文件提交到本地仓库

git commit -m 'initial project version'

克隆现有的仓库

在github上创建仓库
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aWShjm3N-1592989979571)(en-resource://database/845:0)]
创建一个项目名为gittest的仓库

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EUM5L1HW-1592989979572)(en-resource://database/847:0)]
创建成功后复制路径

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oZ2nehsu-1592989979572)(en-resource://database/849:0)]
在项目目录中打开git命令行模式

git clone <复制的地址>

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nXMFRhF2-1592989979573)(en-resource://database/851:0)]
检查当前文件状态

git status

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oJtAVMVB-1592989979574)(en-resource://database/853:0)]
现在工作目录中是空的,我们创建一个test1.txt
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JEx2WoSP-1592989979575)(en-resource://database/855:0)]
创建完成后再次使用git status查看目录
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BEtHIkEg-1592989979576)(en-resource://database/857:0)]
可以看到状态报告中显示有未提交的文件,现在我们通过git add 来跟踪test1.txt文件
在这里插入图片描述
可以看到提示发生变化,Changes to be committed 这行下面的,就说明是已暂存状态。

修改暂存区中的文件
在这里插入图片描述
使用git status再次查看状态
在这里插入图片描述
出现在 Changes not staged for commit 这行下面,说明已跟踪文件的内容发生了变化,但还没有放到暂存区

我们使用git add 命令将修改的文件提交到暂存区中,并再次查看状态
在这里插入图片描述
状态查看

git status - s
git status --short

为了看到git status的其它效果,我们再次修改test1.txt文件,且新增了test2.txt文件
在这里插入图片描述
查看状态
在这里插入图片描述
??:代表未添加到缓冲区的文件
A :代表已添加缓存区的文件
M :代表修改过的文件
输出的文件有两栏,左栏代表暂存区的状态,右栏代表工作区的状态,比如:我们把test1.txt文件添加到了暂存区后修改了,所以暂存区是A,工作区是M

查看文件暂存区和工作区中的区别

git diff

在这里插入图片描述
此命令比较的是工作目录中当前文件和暂存区域快照之间的差异。 也就是修改之后还没有暂存起来的变化内容。

查看暂存区中上次版本与最后一次提交的区别

git diff --staged

在这里插入图片描述
这条命令将比对已暂存文件与最后一次提交的文件差异

提交更新

git commit -m "描述信息"

在这里插入图片描述

持续更新中

官网文档

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

失忆老幺

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值