Software Engineering Exp1 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 指令

实验记录:

1)实验内容结果的截图

2)实验过程中发生的问题与解决

初次配置 Git

安装适合自己电脑的git版本,我用的是git 2.25.1版本的,并设置git用户名和邮箱,配置git代码编辑器,我用的是atom,截图如下所示。

 

创建项目目录

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

git init

在终端会输入 git init 命令,该命令会在当前目录下初始化生成一个空的 Git 仓库。

克隆现有仓库

在 Git 上进行克隆的方法是调用我们将在终端上运行的命令 git clone,然后传入要克隆的 Git 仓库的路径。

输入命令:git clone https://github.com/udacity/course-git-blog-project

 git log

在终端运行git log用于显示仓库中所有 commit 的信息

git log --oneline

在终端运行git log --oneline用于更改仓库信息的显示方式

git log --stat 

在终端运行git log --stat用来显示 commit 中更改的文件以及添加或删除的行数

 

git log -p

在终端运行git log -p用来显示对文件作出实际更改的选项

 

git add& git commit&git diff

1)创建一个叫做 index.html 的文件

2)建立 js 和css 文件夹,并在文件下分别建立 app.js 和 app.css 文件

用git status检查

在终端上运行git add index.html命令,使用 git add 将 index.html 添加到暂存区

 

git commit

现在做以下操作   

1) 使用 git add 命令将文件移到暂存区,并使用 git status 验证文件是否位于暂存区。

2) 提交第二个 commit 吧!使用 git commit 命令提交 commit,并添加提交说明 Add header to blog。

git diff

 git diff 命令可以用来查看已被加入但是尚未提交的更改。

gitignore

将某个文件保留在项目的目录结构中,但是确保它不会意外地提交到项目中,可以使用名称特殊的文件 .gitignore

 

git branch

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

创建分支

创建一个叫做"sidebar"的分支,只需运行以下命令:

$ git branch sidebar

要在分支之间进行切换,我们需要使用 git 的 checkout 命令。

$ git checkout sidebar

使用 --decorate 选项来显示 git 标签一样,我们也需要该选项来显示分支。

$ git log --oneline

你想删除分支,可以使用 -d 选项。下面的命令包含 -d 选项,告诉 git 删掉给出的分支(这里是"sidebar"分支)。

$ git branch -d sidebar

更改 1 - 添加页面颜色

确保位于 master 分支上,并向 css/app.css 添加以下内容:

body {
    background-color: #00cae4;
}
保存文件,然后将该文件添加到暂存区,并将其 commit 到仓库。
commit 的内容可写: Set background color for page

通过git log 检查commit 记录

更改 2 - 添加侧栏

我们向页面上添加一个侧栏。

因此向该 commit 添加分支的命令是:

$ git branch sidebar  SHA

更改 3 - 更改 master 上的标题

使用 git checkout 命令切换到 master 分支

合并

要合并 sidebar 分支,确保你位于 master 分支上,并运行:

$ git merge sidebar

更改最后一个 commit

你已经使用 git commit 命令提交了大量的 commit。现在,借助 --amend 选项,你可以更改最近的 commit。

$ git commit --amend

git revert 命令

现在我创建了一个包含一些更改的 commit,我可以使用 git revert 命令还原它

$ git revert <SHA-of-commit-to-revert>

git reset 命令

git reset 命令用来重置(清除)commit:

$ git reset <reference-to-commit>

实验总结与体会:

    本次实验做了git版本管理的实验,以前只用过github来托管自己的代码,并不了解git还有版本控制的功能。在实验中开始遇到仓库冲突的问题,后来通过百度解决了问题。实验量比较大,所以花费的时间比较长。通过本次实验基本了解了git的原理以及掌握了git版本管理的一些基本操作,后面可以把git作为一个工具使用,用于版本管理。

思考题:

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

 

DVCS 通过本地提交支持离线工作,这是由 DVCS 的操作方式决定的,这与集中式版本控制完全不同;
DVCS 比集中式系统更灵活,因为 DVCS 支持许多不同类型的工作流;
DVCS 比集中式版本控制系统快得多,因为大多数操作在客户机上进行,速度非常快。






 

猜你喜欢

转载自www.cnblogs.com/cshgh/p/12389661.html