一、实验目的
(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.初始配置 Git
# 设置你的 Git 用户名
git config --global user.name "<Your-Full-Name>"
# 设置你的 Git 邮箱
git config --global user.email "<your-email-address>"
# 确保 Git 输出内容带有颜色标记
git config --global color.ui auto
# 对比显示原始状态
git config --global merge.conflictstyle diff3
git config --list
( 该处操作在输入用户名和邮箱时漏掉空格,后面操作已解决 )
2.从头创建仓库
(1)创建项目目录 、 git init 、克隆
创建一个目录se2020-git-course,在该目录中创建另一个目录 new-git-project,使用 cd 命令移到 new-git-project 目录下。
输入git init 命令生成空的git仓库,输入命令git clone进行克隆。
打开文件夹中的index.html文件,可看到如下网页:
(2)判断仓库的状态
输入 git status 命令,判断仓库状态。
3.git log
(1)跳转到course-git-project项目的目录下,输入git status命令
( 在跳转目录时出现问题 )
(2)git log 命令
显示仓库中每个 commit 的作者,日期和消息
(3)git log –oneline 简洁输出
(4)git log –stat 显示commit中更改以及添加或删除的行数
(5)git log -p 显示对文件作出实际更改的选项
(6)git log –w 忽略空格变化
4.git add & git commit & git diff
(1)创建文件夹
进入new-git-project,创建index.html、css、js文件夹,其中css包含app.css文件夹,js包含js.app文件夹,并在index.html中添加代码
(2)使用git status检查git是否在跟踪这些文件,并用git add将这些文件保存到暂存区
(3)提交commit:通过git commit 命令进入编辑器,编辑文本 Initial commit
( 由于最开始输入用户名和邮箱时忘记空格,此时出现错误,重新输入解决问题 )
(4)git diff
5.标签、分支
(1)git tag标签, git branch分支, 高效分支, 分支实战
6.合并、撤销和更改
(1)合并:git 可以自动将不同分支上的更改合并到一起。
(2)更改最后一个commit
向commit中添加忘记的文件,还原commitgit 根据所使用选项来判断是清除、暂存之前 commit 的更改,还是取消暂存之前 commit 的更改。
实验过程中发生的问题与解决:
(1)在初始配置 git 时,用户名和邮箱输入前未留空格,导致出现错误。在之后操作时提示错误,通过重新输入进行了解决。
(2)在创建项目及跳转目录时出现个别问题,通过 cd 进行跳转调整。
(3)在执行 git status 命令观察仓库时,发现大量未提交文件,需要 commit 提交。
(4)在标签,分支,合并和撤销更改中执行命令的结果均有个别问题,尚待解决。
四、实验总结与体会
通过本次实验的操作,我学会了利用 git 和编辑器来创建仓库,复制仓库以及 git 的一些命令的使用,对标签和分支以及合并撤销更改有了初步的掌握。因为是第一次接触 git ,在整个实验中出现了或多或少的问题,
感谢老师和同学的帮助,以及百度上的经验分享,实验得以顺利完成。
五、思考题
阅读维基百科和百度百科 的Git词条,总结分布式版本控制系统的核心机理
答:Git就是分布式版本控制系统,对应的是集中式的版本控制如SVN。分布式的版本控制就是每个人都可以创建一个独立的代码仓库用于管理,各种版本控制的操作都可以在本地完成。每个人修改的代码都可以推送合并到另外
一个代码仓库中。而像SVN这样,只有一个中央控制,所有的开发人员都必须依赖于这个代码仓库。每次版本控制的操作也必须链接到服务器才能完成。很多公司喜欢用集中式的版本控制是为了更好的控制代码。
来源:https://www.cnblogs.com/qishuai123/p/12446159.html