git 32位_完整的GIT笔记 快速上手小白教程

GIT 是什么?

Git 是目前世界上最先进的分布式版本控制系统。并且它是一个免费的、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。

什么是版本控制系统

522278de752711eda353b6355c8a8226.png

版本控制是一种系统,它跟踪一段时间内对文件或文件集合的修改,以便以后可以恢复不同的副本。如果开发人员在他的代码的新版本中有一些错误,他可以切换回以前的(旧的)版本。

当多个开发人员处理单个项目时,单个开发人员所做的更改可能会影响另一个开发人员的代码。因此,为了解决所有这些问题,git有分支,每个开发人员都在一个单独的分支上工作,使用他们的代码并测试他们的代码,最后,他们可以合并所有的分支。太棒了?

为啥要学习 Git?

  • 面试要被问,可以应付面试。
  • 很多公司开发都用Git来处理项目。现在不学,以后肯定还要学。
  • 在我看来Git是现如今所有程序员都要掌握的,以后与同事共同协作开发项目必定要用到的,熟练掌握Git命令,可以提高开发的效率。

Git 优势

  • 分布式开发
  • 变更记录
  • 快速开发
  • 源代码备份,在新代码失败时用于恢复旧版本的代码
  • 单个项目的单个特性
  • 对代码的每次更改都要隔离环境
  • git在我们的本地机器上脱机工作
3a4d6a105f27146015aac652f9727757.png

如何安装 Git ?

ebb27f033b42d9de001352b6560ef3e5.png

Git 支持常见的平台,如Windows、Linux、mac os三大系统环境。

在Linux (ubuntu)系统环境中安装git

在安装git之前先更新Linux系统,代码如下:

apt-get update

现在,您可以安装git,代码如下:

apt-get install git-core

安装完成后,可以通过git命令检测版本号,代码如下:

git --version

在Windows系统环境中安装git

查看Git官方网站:https://git-scm.com/downloads

4e6849fc10beead59c2ecf8f1c858388.png

点击红框里面的下载按钮,并允许下载完成。

它会根据你的电脑开始下载,可能是32位,也可能是64位。下载后解压它并安装到您的本地机器上。

创建 Git 仓库

e4eedb8d995ded291c5deb7076f220fd.png

有两种创建仓库的方式:

❌ Cloning(单独的主题克隆)

❌ Git 命令

即将克隆一个主题,现在,让我们使用Git命令。创建一个仓库,我们可以使用git init命令在我们的项目目录中初始化一个空的git仓库,它将创建一个.git文件。具有标记、对象和模板文件等配置。

  • 创建项目目录
  • 转到项目文件夹
  • Git init 命令
b97e07aaf1439063c92b7299ce403411.png

在初始化git仓库之后,用户就可以处理文件并将其推到像GitHub这样的远程仓库。

Git 修改

这是git中重要的特性之一,我们可以在执行提交之前跟踪文件或项目中任何内容的更改。

命令检测状态

git status

新仓库的状态

dc44e4df6334d473c2f20081ebdb3914.png

修改后的仓库状态

13912aa8ef0c89fc12c05f2127b0b0c7.png

我已经在项目目录中创建了一个新文件index.html

提交后的仓库状态

git add .
git commit -m “(自定义提交信息)”
git status
fcbaa0a7bce325a4ef8671d7a718d542.png

Git 克隆

6054eb11eee53bcbcfa7c3eefe90e792.png

Git clone命令从GitHub克隆一个远程目录,并在本地机器上创建一个新目录。

只有公开的仓库可以克隆

fa0387c2eb71d6b406bc7b00541372d3.png

浅克隆允许克隆用户所需的指定提交数量。

Git 暂存区域

349d970a36d794953face2a3fd040b5f.png

这是提交之前的一个阶段。在这个阶段,我们可以创建部分提交、编辑文件或修改文件。准备提交的过程称为准备区域。

git add .

上面的命令用于将任何修改过的和新创建的文件更新到暂存区域,删除的文件不用于暂存区域。

git add -u

上面的命令用于将任何修改和删除的文件更新到暂存区域,新创建的文件不用于暂存区域。

git add -A

上面的命令用于将任何类型的修改、删除和新创建的文件更新到暂存区域。

Git 删除文件

382ee7cb6c61df1eb91fb8b2857dfed1.png

如果用户需要删除不必要的文件,用户可以从工作树中删除该文件,这将停止跟踪该文件的更改。

4069f839d5f925bbf310ecb5a9d16de2.png

git rm --cached filename.txt 命令仅从仓库中删除文件,而cmd命令行上的文件将同时删除文件系统和索引。

b4095ccaaab88cbfebcd1837b9df1061.png

这个cmd命令行将帮助用户删除/移除唯一指定的扩展文件集,例如扩展名为(.py)的文件。

用户可以从仓库的以前历史记录中恢复已删除的文件。

Git 忽略

6f8c82e59e24ee5a0f17f542bfa0ba2a.png

.gitignore文件用于排除暂存区域和git提交中要排除的文件、文件夹和文件扩展名类型。

例如,在node.js项目中,用户会忽略node_modules文件夹,因为它包含了很多外部包/模块。甚至由于IDE的扩展而自动创建的垃圾文件。

打开git忽略文件

注意,文件名是.gitignore,并且只在项目的根目录中创建。

linux / mac 下在命令行创建/删除 .gitignore 文件命令如下:

touch .gitignore # 新建
rm -f .gitignore # 删除

windows 系统 win10 以前的版本可能无法直接用视图菜单创建/删除以 . 号开头的文件,需要在命令行操作:

// 创建
type nul>.gitignore
// 删除
del /F .gitignore
850f8c47c722796abf6a165073e11252.png

Git 标签

2d806e083ea73fb49257e8c9765d7358.png

标签用于标记代码。标签就像git中的书签,指向一个特定的提交。我们甚至可以说标记是您的代码v1、v2、v2.2的版本,创建标记需要一个参数:标签的名称。

3759ba8818f6732aa143b63e24c295dd.png

标签有两种类型

  • 注释标签
  • 轻量标签

注释标签

注释标签公开发布项目时非常有用,注释标签包含标签等元数据信息,时间戳、作者名称、版本说明,等等。这些对于公开发布您的项目非常有用,因为游客或其他未知的用户都能够知道的实际细节和时间戳标记,注释标签总是指向一个标签对象在git对象数据库。

在cmd命令行创建一个带注释的标签,代码如下:

git tag -a 

它在当前分支上创建一个本地标签,但是当您将最新的代码提交,并推送到远程仓库时,git不推标签,用户需要通过命令单独推标签。

轻量标签

轻量级标签是简单的标签,将主要用于本地,创建轻量级标签只是不提供任何额外的参数,如-m, a。轻量级标记只是一个指向提交的命名指针。

在命令行创建轻量级标签

git tag 

在命令行推送标签

git push origin --tags

**如何给自己贴上专业标签?**?

我们的v1标签一开始似乎是个不错的选择,但在将来我们会看到v2、v3、v4等等。同时,一些bug也会出现,所以我们会得到v4修复,或者可能是v4.1。在某些时候,坚持做某事是很困难的。?‍♂️

ca27515cf76842f39e00ee45e4af7a2a.png

语义版本化可以解决这个问题。这是一个流行的标准,使用了一些简单的规则。每个版本的格式为主、小、补丁,每个部分将根据下面的规则进行更改。

  • 主要(MAJOR):当破坏向后兼容性时
  • 次要(MINOR):当添加一个不会破坏兼容性的新特性时
  • 补丁(PATCH):在不破坏兼容性的情况下修复bug

注意:标签不能以/开始或结束。不能在标签内使用字符^、*或:

Git 分支

50f65be6a3233085f1e16f1a1a702aa8.png

当用户创建他们的第一个回购时,默认情况下主分支将是主分支。

分支就像同一项目中的独立开发线。

例如,您正在为您的应用程序开发一个新特性或更新,但是这不应该崩溃您的主repo(Master)。因此,您可以为新代码的那一部分创建另一个分支。一旦您确认它不会影响主代码,您就可以合并主分支和新分支。

f60cb2092fad9d2dbc1115e7fab68933.png

如何在Git中查看分支?

我们可以通过 git branch 参数来检查合并、未合并和本地分支。

当前分支在git输出的名称前有一个带*(星号)。

4d952eca5e4bc3f4fd74e2d8885fa0de.png

如何在Git中合并分支?

正如我上面所说的,你可以将你所有的分支合并到主分支中。

111e37bc49264f936b54965ef6e6c4a8.png

Git 反做(revert)

19b04ba26a9bd047b7f7ccf13fab5b7f.png

git revert 是用于反做某一个版本,以达到撤销该版本的修改目的。比如,我们commit了三个版本(版本一、版本二、 版本三),突然发现版本二不行(如:有bug),想要撤销版本二,但又不想影响撤销版本三的提交,就可以用 git revert 命令来反做版本二,生成新的版本四,这个版本四里会保留版本三的东西,但撤销了版本二的东西。如下图所示:

9bd46cb5e426132c64638984448fb034.png

如果我们想撤销之前的某一版本,但是又想保留该目标版本后面的版本,记录下这整个版本变动流程,就可以用这种方法。

git revert 是用一次新的commit来回滚之前的commit,此次提交之前的commit都会被保留。

查看版本号

git log

使用反做命令,再使用提交命令

// 反做
git revert -n 版本号 
// 提交
git commit -m 版本名 

使用推送命令

// 推送远程仓库
git push
b6b5862d233f9b062597abf1b69b0998.png

Git 回退(reset)

832de1fc988ec77a2354c169ff0387c0.gif

git reset的作用是修改HEAD的位置,即将HEAD指向的位置改变为之前存在的某个版本,如下图所示,假设我们要回退到版本一:

9577c2ec27651320a34e406cc6d9ed39.png

如果想恢复到之前某个提交的版本,且那个版本之后提交的版本我们都不要了,就可以用这种方法。

查看版本号

git log

使用以下命令将版本回退

git reset --hard 目标版本号

使用推送命令提交更改

git push -f // 强制推送
390301e1d7c5de03df51507c959cee21.png

Git 重新绑定(rebase)

27ae366155216a72f90e7de0e3c47e5d.png

重新绑定完全不同于合并。

Rebase命令将所有指定的分支提交添加到当前最高的分支(*)提交,这些新的提交将被添加到当前的分支,这将是类似于前一个分支的顺序。在重新建立基础之后,新的提交id将被更改。

dc133eceecd9e6c40fcf6d84e139624a.png

Git cherry-pick(挑选)

81b0b99043678abe7da2384c19c62c6e.png

Cherry-pick 允许将提交从一个分支移动到另一个分支。Cherry-picking 就是以可持续的方式重新安排承诺的顺序。它在当前提交(HEAD)之后使用不同的提交id创建新的提交。

2a2b1eef75a45d52f6fe293ad7ed07c9.png

参考资源

  • COMPLETE GIT (VERSION CONTROL SYSTEM)
  • Git恢复之前版本的两种方法reset、revert(图文详解)
  • git版本控制系统教程
  • Git 笔记 - 程序员都要掌握的 Git

发现帮助别人解决技术问题(BUG)的同时,就是帮助自己提升,欢迎有志同道合的前端爱好者们,加入我们一起讨论一起实践?

bcb5591897c12e50629f64d7603be21c.png

推荐阅读相关优质文章

  • NodeJS+3D酷炫动画玩转纯手工打造个人博客,不用博客框架
  • NodeJS全栈开发一个功能完善的Express项目(附完整源码)
  • (上)Vue+Echarts构建可视化大数据平台实战项目分享(附源码)
  • (上)手摸手教你大厂都在用React+TS+Antd快速入门到NodeJS全栈项目实战(附源码)
  • 2020年值得收藏学习280多款H5小游戏,曾经刷爆朋友圈,为啥这么火?(附源码)
a3457b02bbbee19272a686f31154012b.gif

分享前端好文,点亮 在看 7ba45b958987ae8471539cdd677164cf.png

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值