实验一 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)实验过程中发生的问题与解决

实验记录

1)初始配置GIT

 

从头创建仓库

在对 Git 仓库进行 commit 或执行任何其他操作之前,需要一个实际存在的仓库。要使用 Git 新建一个仓库,我们将使用 git init 命令。

创建项目目录

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

可在终端上使用如下命令:-mkdir -p se2020-git-course/new-git-project && cd $_

克隆现有仓库

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

 

 

 

判断仓库的状态

git status 是了解 Git 的核心所在。它将告诉我们 Git 正在考虑什么,以及 Git 所看到的我们仓库的状态。当你第一次使用 Git 时,你应该一直都要使用 git status 命令.你应该习惯于运行任何其他命令之后,都运行下该命令。这样可以帮助你了解 Git 的工作原理,并避免你对文件 / 仓库状态做出不正确的推论。

GIT命令

GIT log

显示sha,作者,日期,消息

 

 

 GIT add

将文件从工作目录放入暂存区

 

 GIT diff

可以用来查看已经被加入暂存区但没有提交的更新

GIT tag

注意所显示的结果(只需注意 SHA 和 commit 消息)

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

 git tag -a v1.0

上述命令将打开代码编辑器,并等待你为标签输入信息。我们输入"Ready for content"作为tag。

向以前的 commit 添加标签

运行 git tag -a v1.0 将为最近的 commit 添加标签。但是如果你想向仓库中很久之前的 Commit 添加标签呢?

只需提供要添加标签的 commit 的 SHA 即可!

先查询历史SHA git log --oneline,查找已经commit  的SHA

运行以下命令

$ git tag -a v1.0 eff5d50

(在弹出代码编辑器以便让你提供标签消息之后)此命令将向 SHA 为 eff5d50  的 commit 添加标签 v1.0。借助这一技巧,你可以为整个 git 仓库中的任何 commit 添加标签!并且只需在你已经知道的 git 标签命令中加上 commit 的 SHA 即可。

GIT branch

列出仓库中所有分支

创建新分支

删除分支

GIT commit

取出暂存区的文件并保存到仓库中

 

 GIT revert

撤销目标commit所作的更改并创建新的commit来记录这一更改。

2)实验中遇到的问题

  在本次实验中在克隆完仓库以后,使用GIT status命令之后,一开始无法进入下一步操作,也就是无法进行GIT log命令的使用,通过查询得知,要先执行GIT add将当前目录下的文件添加到缓存中,最后执行GIT commit命令提交新添加的文件。然后完成了本次实验。

实验总结和体会

 通过这次实验我初步了解分布式分布式版本控制系统的核心机理,熟练掌握git的部分基本指令和分支管理指令。对配置git ,git init git status,git log ,git add ,git diff ,git tag git branch,git commit git revert 指令有所了解,这次实验虽然结束了但是各种知识点也只是有所了解,希望自己通过课后的进一步巩固强化能够更好的吸收各个知识内容。

思考题

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

   Git 是用于 Linux内核开发的版本控制工具。与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持(wingeddevil注:这得分是用什么样的服务端,使用http协议或者git协议等不太一样。并且在push和pull的时候和服务器端还是有交互的。),使源代码的发布和交流极其方便。 Git 的速度很快,这对于诸如 Linux kernel 这样的大项目来说自然很重要。 Git 最为出色的是它的合并跟踪(merge tracing)能力。

posted @ 2020-03-06 00:17  Le_the  阅读(123)  评论(1)    收藏  举报