实验一 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)实验内容结果的截图
由于本人疏忽,实验4.1.1至4.1.7截图忘记保存,现在只用日志恢复了部分commit历史
4.1.2 安装GIT
4.1.3 初始配置git
4.1.4 从头创建仓库
4.1.5 git log
4.1.6 git add& git commit&git diff
4.1.7 标签、分支
4.1.8 合并
4.1.9 撤销更改
2)实验过程中发生的问题与解决
1。进行克隆目录的时候忘记复制的地址,将远程库只复制到blog project中,以至于在后续实验中打不开
html页面
解决:找到问题后,重新将url导入到相应的地址
2.在进行分支实验时,由于当时git所在new-git-project目录下的子目录blog project中
我在保存时改变了blog project的html文件,并未将new-git-project中的html文件commit
所以在后续的log检查中结果与老师给的不吻合。
解决方法:转移到目录new-git-project,重新commit
3.在进行合并操作时,在两个分支修改不同的标题,合并时并显示冲突,经过检查发现看错老师意思,修改错位置,将
改成了
解决方法:reset后,重新修改两个分支html文件的标题内容
出现合并冲突
实验总结与体会:(以下内容根据各自实验情况填写)
git 指令和dos命令类似,直观。本次实验初学git,学会了很多对于git操作,
过程中出现了很多失误,由于老师给的题目兼容性较好方便改正,下次会更认真学习git。
思考题:(以下内容根据各自实验情况填写)
客户端并不只是提取最新版本的文件快照,而是把原始的代码仓库完整地镜像下来.这么一来,任何一处协同工作用的服务器发生故障,事后都可以用任何一个镜像出来的本地仓库恢复,因为每一次的提取操作,实际上都是一次对代码仓库的完整备份
Git的核心思想在于,每次代码版本的更迭和变化,Git都会记录数据文件的整体是否发生变化,而大多数其他系统则只关心文件内容的具体差异变化,这类系统每次记录有哪些文件作了更新,以及都更新了哪些行的什么内容。
Git并不保存这些前后变化的差异数据。实际上,Git更像是把变化的文件快照后,记录在一个微型的文件系统中。每次提交更新时,它会纵览一遍所有文件的指纹信息并对文件一一作快照,然后保存一个指向这次快照的索引。为提高性能,若文件没有变化,Git不会再次保存,而只是对上一次保存的快照作一链接。
总的来说,Git是一个存储着整个代码快照或者代码快照链接的小型文件系统,所以在每次代码修改之后都能够保持整个代码库的“风貌”,而不是像其他版本管理系统一样,只记录修改的文件和具体的修改内容。要复原整个代码库的话,还需借助“原始材料”。