[关闭]
@websec007 2020-08-11T08:55:40.000000Z 字数 3022 阅读 808

Git 学习

Git



第1章:Git 基本了解


1.1 Git 是什么?

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


1.2 Git 的安装

git 的安装可直接参考 “git - 简明指南”进行不同平台的安装部署。


1.3 git 三大区域

现在请注意,如果你希望后面的学习更顺利,请记住下面这些关于 Git 的概念。 Git 有三种状态,你的文件可能处于其中之一:已修改(modified)已暂存(staged)已提交(committed)

1.3.1 git 三个状态

1.3.2 git 三个区域

通过上面三个状态就会让我们的 Git 项目拥有三个区域:

此处输入图片的描述


1.4 git 仓库管理

1.4.1 git仓库管理

  1. $ cd git_demo
  1. $ git init
  1. $ git status
  2. \$ git add index.html
  3. \$ git status
  4. \$ git add readme.txt
  5. \$ git status

红色:未被管理状态,表示还未准备做版本生成提交;
绿色:已被管理状态,表示以及准备做辨别生成提交;
小结:无论是“红色”还是“绿色”都是表示文件内容已被修改或新增,但是还未做版本提交状态;

$ git commit index.html -m "V1: the 1th init."

1.4.2 git 分步提交

git 版本提交,可以先提交暂存区,然后再做版本生成提交。

三大区域

1.4.3 git 一次提交

git 版本提交也可忽略“staging area”,只需要在commit 命令添加“-a"参考一次完成版本变更提交;

git 版本控制一次提交


1.5 版本回滚

1.5.1 版本回滚命令

> git reset --hard HEAD^

> git reset --hard HEAD^^

> git reset --hard 82a9cbe1

1.5.2 版本信息查询

> git log

> git reflog

1.5.3 版本回滚原理

Git的版本回退速度非常快,因为Git在内部有个指向当前版本的HEAD指针,当你回退版本的时候,Git仅仅是把HEAD从指向append GPL

  1. ┌────┐
  2. HEAD
  3. └────┘
  4. └──$ append GPL
  5. add distributed
  6. wrote a readme file

如版本需要回滚到add distributed,就将指针的指向修改为为add distributed即刻,随后顺便把工作区的文件更新了。所以你让HEAD指向哪个版本号,你就把当前版本定位在哪个位置。:

  1. ┌────┐
  2. HEAD
  3. └────┘
  4. append GPL
  5. └──$ add distributed
  6. wrote a readme file

1.6 git 命令小结

1.6.1 git 初始化命令

  1. # (1)初始化git仓库目录
  2. $ git init

1.6.2 working directory 管理命令

  1. # (2)working dir 目录状态查询
  2. $ git status
  1. # (3)staged area 添加
  2. $ git add
  1. # (4).git dir 提交新版本
  2. $ git commit index.html -m "V1: init"

1.6.3 版本信息查询命令

  1. # (5)版本信息查询
  2. $ git log
  3. $ git reflog

1.6.4 版本回滚命令

  1. # (6)回滚上一版本
  2. $ git reset --hard HEAD^
  3. # (7)回滚上一个的上一版本
  4. $ git reset --hard HEAD ^^
  5. # (8)回滚指定的commit id 版本
  6. $ git reset --hard 72a8c1ad

第2章:Git远程仓库管理

2.1 提交过程

2.2 克隆下拉过程

  1. $ git clone https://github.com/myles-hub/xxx.git
  1. $ git branch
  2. $ git log

注意:远程仓库克隆,其实会将整个仓库克隆下来,即所有分支克隆下来,虽然git branch查看不到master以为的分支,但其实际上已经全部拉取来下了,我们可以直接切换过去。

2.3 拉取仓库分支

  1. $ git pull origin dev

注意:pull 拉取命令,其是用来 “指定分支” 进行远程仓库数据拉取的。

2.4 远程仓库管理命令

  1. # (1)添加远程仓库,并设置别名origin
  2. $ git remote add origin https://github.com/myles-hub/xxx.git
  3. # (2)提交本地代码到远程仓库(origin)的master分支
  4. $ git push -u origin master

注意:远程仓库同步提交前,需要先有一个空的远程仓库可以被提交才行。

  1. # (1)克隆远程仓库到本地
  2. $ git clone https://github.com/myles-hub/xxx.git
  3. # (2)切换下分支
  4. $ git branch
  5. $ git checkout dev/bug

FAQ

1. git reset 的3中回滚

学习参考

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注