一、为什么要使用Git?

1.传统文档管理

在我们写毕业论文时可能会遇到,多次修改之后的论文命名方式:

论文_改.doc、论文_改改.doc、论文_改改改.doc、论文_改改改改.doc、论文_改改改改再改.doc、
论文_改改改改再改TM不改了.doc

2.源代码管理的好处

  • 方便多人协同开发
  • 方便版本控制

3.Git的诞生

  • 作者Linux之父:Linux Torvalds
  • git开发目的:为了辅助 Linux 内核的开发
  • 是 Linux Torvals 在无奈被逼的情况下创造的
  • 2008年,GitHub 网站上线,为开源项目免费提供 Git 存储,无数开源项目开始迁移至 GitHub
  • Git 迅速成为最流行的分布式版本控制系统(没有之一)

二、Git结构

1.结构分析

Git是分布式管理系统。服务器和客户端都有版本控制能力,都能进行代码的提交、合并、...

结构图一:

结构图二:

2.本地代码管理

工作区(Workspace):添加修改删除`文件

暂存区(Index):将工作区中的操作完成小阶段的存储,是版本库的一部分

本地仓库区(Respository): 对个人开发的一个小阶段代码存储

  • 记录的各版本可以查看或者回退
  • 但是在暂存区的版本一旦提交就再也没有了(保存到仓库区中)

三、本地仓库操作

1.安装git

# 在虚拟机上安装
sudo apt-get install git

2.查看是否安装成功

git version             查看版本

3.创建项目

1,创建test_git 文件夹, 表示工作项目

2,cd test_git

3,git init 初始化本地仓库


# 会创建一个.git隐藏文件
++ ls -al
total 12
drwxrwxr-x  3 Conner Conner 4096 11月 27 16:22 .
drwxr-xr-x 14 Conner Conner 4096 11月 27 16:22 ..
drwxrwxr-x  7 Conner Conner 4096 11月 27 16:22 .git

++ ls .git   显示配置信息

c.配置个人信息

# 配置个人信息
 git config  user.name "laowang"
 git config user.email "python@admin.com"


# 配置信息出现在.git/config文件中

d.新建测试文件

vim test11.py

e.查看文件状态

git status

f.将工作区添加到暂存区

# 添加项目中所有文件
git add .
或者
# 添加指定文件
git add test01.py

g.将暂存区文件提交到仓库区

commit会生成一条版本记录
-m后面是版本描述信息

git commit -m '版本描述'

git status 查看工作区没了
git log      查看提交操作
git reflog

修改文件

vim test11.py

查看状态

git status # 会变成红色 提示修改

提交内容到工作区

git commit -am '新增内容'

4.回退版本

方法一:

  • HEAD表示当前最新版本
  • HEAD^表示当前最新版本的前一个版本
  • HEAD^^表示当前最新版本的前两个版本,以此类推...
  • HEAD~1表示当前最新版本的前一个版本
  • HEAD~10表示当前最新版本的前10个版本,以此类推...
git reset --hard HEAD~1

5.撤销修改

  • 只能撤销工作区、暂存区的代码,不能撤销仓库区的代码

  • 撤销仓库区的代码就相当于回退版本操作

    • 撤销工作区代码

      • 新加代码num3 = 30,不add到暂存区,保留在工作区
      git checkout 文件名
    • 撤销暂存区代码

      • 新加代码num3 = 30,并add到暂存区
    # 第一步:将暂存区代码撤销到工作区
    git reset HEAD  文件名
    # 第二步:撤销工作区代码
    git checkout 文件名
    
    cat  test.py    # 添加的内容消失了

6.文件删除

  • 确定删除处理与误删

    • 确定删除
    # 删除文件
    rm 文件名
    # git确定删除文件,对比添加文件git add
    git rm 文件名
    # 删除后记录删除操作版本
    git commit -m '删除描述'

    提交删除就能撤消更改了, 下面的方法可以撤回

  • 误删处理,撤销修改

    # 删除文件
    rm test11.py
    # git撤销修改
    git checkout -- 文件名
01-10 08:19