1、Git概述

Git:一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。

Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

Linus Torvalds 开始着手开发 Git 是为了作为一种过渡方案来替代 BitKeeper 。

Git官网下载:https://git-scm.com/downloads # 2、Git工作流程 Git介绍 - 图1 (1) 工作区(Working Directory)
添加、编辑、修改文件等操作。 (2) 暂存区(Stage)
暂存已修改的文件,最后会统一提交到Git仓库中。 (3) Git仓库(Git Repository)
最终确定的文件保存到Git仓库成为一个新版本。

1)工作流程

  1. 在工作目录中添加、修改、删除文件;
  2. 将需要进行版本管理的文件放入暂存区
  3. 将暂存区的文件提交到Git仓库中;

2)对应工作流程的3中状态

  1. 已修改(modified)
  2. 已暂存(staged)
  3. 已提交(committed)

3)实例:向Git仓库中添加文件

Git介绍 - 图2

3、Git基本操作

1)常用命令-Git本地仓库操作

  1. # 查看账户信息
  2. git config --list
  3. # 配置账户信息
  4. git config --global user.name "账户名"
  5. git config --global user.email "Github邮箱"
  6. # 初始化文件夹
  7. git init
  8. # 查看状态
  9. git status
  10. # 添加文件到暂存区
  11. git add 文件名
  12. # 提交暂存区文件到Git仓库
  13. git commit -m '注释信息'

2)常用命令-历史提交记录

  1. # 查看历史提交记录(--pretty=oneline简化信息)
  2. git log
  3. git log --pretty=oneline
  4. git log --oneline
  • --pretty=oneline--oneline简化信息
  1. # 查看历史记录
  2. git reflog
  • 可以看到有 HEAD@{0}HEAD@{1} 信息,其作用时方便后退到某一个版本,数字表示后退到当前版本需要多少步。

3)常用命令-删除文件

1. 删除文件

  1. 命令:rm 文件名 表示删除的是工作区和暂存区的文件。
  2. 命令:git rm 表示删除的是工作区和暂存区的文件。
  3. 命令:git rm -f 文件名 表示当工作目录和暂存区的同一个文件存在不同内容时,执行命令 git rm -f 文件名 就可以强制删除工作区和暂存区的文件。
  4. 命令:git rm —cached 文件名 表示只删除暂存区的文件并且保留工作目录的文件。

2. 重命名文件

  1. 命令:mv 旧文件名 新文件名 表示将工作区文件重命名,暂存区和仓库文件名不变。
  2. 命令(常用):git mv 旧文件名 新文件名 表示将工作区和暂存区的文件重命名,仓库文件名不变。

4)常用命令-版本前进回退

版本的前进和后退需要通过 指针 **HEAD 来进行控制**。(HEAD前面显示版本号)

(1) 使用版本号进行操作(常用):

命令格式为:git reset --hard 版本号

(2) 使用^符号进行操作,只能后退:

命令: git reset --hard HEAD^ 表示后退一个版本

命令: git reset --hard HEAD^^ 表示后退两个版本

(3) 使用~符号进行操作,只能后退:

命令: git reset --hard HEAD~ 表示后退一个版本;

命令: git reset --hard HEAD~~ 表示后退两个版本;

命令: git reset --hard HEAD~5 表示后退5个版本;

命令: git reset --hard HEAD~n 表示后退n个版本;

  1. # 查看历史提交记录
  2. git reflog
  3. # 根据版本号进行版本回退
  4. git reset --hard 版本号

5)常用命令-删除文件后找回文件

1. 删除本地仓库文件

  1. # 删除本地仓库命令中文件
  2. rm 文件名
  3. # 查看状态(文件状态为deleted)
  4. git status
  5. # 添加已删除的文件
  6. git add 已删除的文件
  7. # 或者
  8. git rm 已删除的文件
  9. # 查看状态
  10. git status
  11. # 提交
  12. git commit -m '删除xxx文件'

2. 本地仓库文件找回

通过回退版本号

  1. # 查看历史提交版本
  2. git reflog
  3. # 回退到对应版本
  4. git reset --hard 版本号

3. 暂存区文件找回

假设新建一个文件提交到本地仓库,然后删除文件提交到暂存区,突然想找回该文件,此时仓库中的文件没有被删除,调整指针HEAD 找回

  1. # 查看历史提交版本
  2. git reflog
  3. # 回退到对应版本
  4. git reset --hard 版本号

6)常用命令-版本中的文件比较

对于版本之间同样文件内容比较可以使用命令 git diff 进行操作

比较文件的差异:

  1. 第一种:工作区暂存区文件比较,命令格式为: git diff 文件名
  2. 第二种:工作区Git仓库文件比较,命令格式为:git diff HEAD 文件名
  3. 第三种:工作区Git仓库不同版本文件比较,命令格式为:git diff 版本号 文件名

注:不添加文件名进行比较时,将自动比较多个相同文件名文件。

7)常用命令-分支管理

1. 创建和查看分支

创建分支命令格式:git branch 分支名

查看分支命令格式:git branch -v

也可以通过命令:git log —decorate —all —oneline —graph 对各个分支进行图形化显示。

2. 切换分支

切换分支命令格式:git checkout 分支名

3. 合并分支

假设需要将其他分支合并到master分支上,则合并分支前,首先切换到master分支上,然后将其他分支合并到master分支上即可。
合并分支命令格式:git merge 分支名

4. 删除分支

合并分支结束后,可以删除分支

删除分支命令格式:git branch -d 分支名

5. 小结

  1. 创建分支命令格式:git branch 分支名
  2. 查看分支命令格式:git branch -v
  3. 切换分支命令格式:git checkout 分支名
  4. 合并分支命令格式:git merge 分支名
    注: 需要注意当前所在分支
  5. 删除分支命令格式:git branch -d 分支名

4、Git本地仓库操作

1)配置账户信息

  1. # 配置账户和邮箱
  2. git config --global user.name "账户名"
  3. git config --global user.email "Github邮箱"
  4. # 查看信息
  5. git config --list
  6. # 例如
  7. git config --global user.name "geray-zsg"
  8. git config --global user.email "1690014753@qq.com"

2)新建文件夹,并初始化

鼠标右键选择:Git Bash Here

  1. # 新建文件夹
  2. mkdir gitTest
  3. # 进入文件夹
  4. cd gitTest/
  5. # 初始化(初始化后文件夹下会生成.git隐藏文件夹)
  6. git init
  • .git隐藏文件夹用于跟踪Git版本迭代

Git介绍 - 图3

3)创建文件,并提交到暂存区

  1. # 创建文件
  2. echo "test git" > README.md
  3. # 查看状态(当前的文件没有提交,README.md文件未被追踪),可以使add命令添加到暂存区
  4. git status
  5. On branch master
  6. No commits yet
  7. Untracked files:
  8. (use "git add <file>..." to include in what will be committed)
  9. README.md
  10. nothing added to commit but untracked files present (use "git add" to track)
  11. # 提交文件到暂存区
  12. git add README.md
  13. # 查看状态
  14. git status
  15. On branch master
  16. No commits yet
  17. Changes to be committed:
  18. (use "git rm --cached <file>..." to unstage)
  19. new file: README.md

Git介绍 - 图4

4)将暂存区文件提交到Git仓库

  1. git commit -m '提交信息,说明性文字(注释)'
  2. # 例如
  3. git commit -m 'gitTest 第一次提交'
  4. # 查看状态
  5. git status

Git介绍 - 图5

问题处理:提交未成功

如果为配置账户信息

Git介绍 - 图6

5)小结

Git基本工作流程:新建或修改文件 ——> 文件提交到缓存区 ——> 文件提交到Git仓库

  1. 新建仓库需要初始化,初始化命令为:git init
  2. 提交文件到暂存区命令格式为:git add 文件名
  3. 提交文件到Git仓库格式为:git commit -m '提交文件的描述'

注: 每次提交文件都可以使用命令git status来查询当前文件状态。

5、Git管理Github远程仓库

Git介绍 - 图7

将远程仓库(或项目)克隆到本地

  • 前提配置好账号
  1. # 1.克隆远程仓库
  2. git clone 仓库地址
  3. # 添加信息
  4. echo 'test' > test.md
  5. # 2.提交到本地暂存区
  6. git add test.md
  7. # 3.提交到本地仓库
  8. git commit -m '第一次提交test.md文件'
  9. # 4.同步到远程仓库
  10. git push
  • 4步骤

解决git push错误

Git介绍 - 图8

6、Github搭建个人网站

官方手册:https://docs.github.com/en/pages/quickstart

个人网站

访问:https://.github.io

搭建步骤

1)创建个人站点 —> 新建仓库(名称必须是:.github.io)

2)选择模板创建首页

Git介绍 - 图9