实验一 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)能力。
浙公网安备 33010602011771号