GIT 代码版本管理

一、实验目的:

1)了解分布式分布式版本控制系统的核心机理;

2)   熟练掌握git的基本指令和分支管理指令;

 

二、实验内容:

1)安装git

2)初始配置git ,git init git status指令

3)掌握git log ,git add ,git diff 指令

4) 掌握git tag git branch,git commit 指令

5)掌握git revert 指令

三、实验过程记录

下载git后,安装时只更改了安装的位置,其他默认选项,安装成功后运行git命令后显示如下图:

 

 

 

初次配置 Git

# 设置 Git 用户名

git config --global user.name "liukeke"

# 设置 Git 邮箱

git config --global user.email "1090648602@qq.com"

# 确保 Git 输出内容带有颜色标记

git config --global color.ui auto

# 对比显示原始状态

git config --global merge.conflictstyle diff3

git config --list

 

从头创建仓库

创建项目目录

创建一个目录,叫做 se2020-git-course,在该目录中,创建另一个目录,叫做 new-git-project,使用 cd 命令移到 new-git-project 目录下。

可在终端上运行以下命令:- mkdir -p se2020-git-course/new-git-project && cd $_

创建目录成功后 运行 git init结果如下图:

 

 

 

克隆现有仓库

克隆到一个新的目录blog-project下,

git clone https://github.com/udacity/course-git-blog-project  blog-project

 

 

 

进入新克隆的文件夹,在浏览器中可以打开 index.html 文件。可以看见已经克隆的blog网页。

 

 

 

 

 

 

运行 git status 命令的结果如下图:

 

git log 命令用于显示仓库中所有 commit 的信息

默认情况下,该命令会显示仓库中每个 commit 的:

  • SHA
  • 作者
  • 日期
  • 消息

强调了“默认情况下”是因为 git log 命令显示的信息远不止这些。

运行git log命令结果如下图:

 

git log --oneline

可以用来更改仓库信息的显示方式,运行命令结果如下图:

 

 

 

git log --stat 

git log 命令有一个选项可以用来显示 commit 中更改的文件以及添加或删除的行数。该选项为 --stat(stat 是“统计信息 statistics”的简称):

  • --stat 选项用于更改 git log 显示信息的方式:
  • $ git log --stat
  • 此命令会:
  • 显示被修改的文件
  • 显示添加/删除的行数
  • 显示一个摘要,其中包含修改/删除的总文件数和总行数

 

运行 git log –stat命令结果显示如下图:

  

git log -p

git log 命令具有一个可用来显示对文件作出实际更改的选项。该选项是 --patch,可以简写为 -p:-p 选项(和 --patch 选项一样)用来更改 git log 显示信息的方式:

$ git log -p

  • 此命令会向默认输出中添加以下信息:
  • 显示被修改的文件
  • 显示添加/删除的行所在的位置
  • 显示做出的实际更改

运行结果如下图:

 

 

 

进入到new-git-project 

1)创建 HTML 文件

    首先,创建一个叫做 index.html 的文件,并添加一些起始代码:

2)建立 js 和css 文件夹,并在文件下分别建立 app.js 和 app.css 文件,文件内容可为空。

遇到的问题是在使用git add命令添加css/app.css和js/app.js时,执行命令后没有错误提示,但是执行git status命令后上面两个文件找不。多次尝试后才发现css和js中的app.css和app.js被我建成了文件夹,我将blog-project文件夹里的app.css app.js复制到css和js文件夹下,可以运行成功,运行结果如下图:

 

 

 

提交第一个commit:

 

 

 

提交第二个commit:

 

gitignore

.gitignore 文件用来告诉 git 不应跟踪的文件。

 

 

 

git  tag标签

我们将使用 git tag 命令与仓库的标签进行交互,输入以下命令 git tag -a v1.0。

保存并退出编辑器后,命令行上什么也不会显示。那么如何知道已经向项目中添加了标签呢?只需输入 git tag,命令行会显示仓库中的所有标签。

 

git branch 分支

git branch 命令用来与 git 的分支进行交互:

$ git branch

它可以用来:

  • 列出仓库中的所有分支名称
  • 创建新的分支
  • 删除分支

如果我们只输入 git branch,则 git 将列出仓库中的分支:

 

 

 

创建分支要创建分支,只需使用 git branch 并提供要创建的分支对应的名称。

例:git branch sidebar

git checkout 命令

git checkout sidebar  运行该命令将:

  • 从工作目录中删除 git 跟踪的所有文件和目录
    • (git 跟踪的文件存储在仓库中,因此什么也不会丢失)
  • 转到仓库,并提取分支指向的 commit 所对应的所有文件和目录

因此此命令将删除 master 分支中的 commit 引用的所有文件。它会将这些文件替换为 sidebar 分支中的 commit 引用的文件。

 

提示符中的分支信息很有用,但是最清晰的查看方式是查看 git log 的输出结果。就像我们需要使用 --decorate 选项来显示 git 标签一样,我们也需要该选项来显示分支。

$ git log --oneline

 

 

 

删除分支

分合并了分支的更改后,你可能不再需要该分支了。如果你想删除分支,可以使用 -d 选项。下面的命令包含 -d 选项,告诉 git 删掉给出的分支支用来进行开发或对项目进行修正,不会影响到项目(因为更改是在分支上进行的)。

注意,无法删除当前所在的分支。因此要删除 sidebar 分支,你需要切换到 master 分支,或者创建并切换到新的分支。

 

更改 1 - 添加页面颜色

 

 

查看分支:

 

实验总结与体会:

  刚开始简单的命令很容易掌握,也没出现问题,在后来按照步骤验证试验时,错把app.css和app.js建成文件夹,使用add添加时不会出现错误,但是使用git status命令显示不出新建的文件,复制克隆的文件后成功了。在后面的为分支添加内容学习的不是太好。

思考题:

   阅读维基百科和百度百科 的Git词条,总结分布式版本控制系统的核心机理

  首先可以从服务器上克隆完整的Git仓库到单机,根据不同的开发目的,创建分支,修改代码,可以合并不同分支。以有效、高速地处理从很小到非常大的项目版本管理。

posted @ 2020-03-03 21:13  刘木可  阅读(625)  评论(0编辑  收藏  举报