实验目的:
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:
从官方网站上下载安装包,之后安装到D盘,安装成功后在桌面右击鼠标,出现如下图所示的“Git GUI Here”和“Git Bash Here”即可说明Git安装成功。
2)初始化Git:
创建工作目录:
在桌面新建一个名为“Git文件”的文件夹,在文件夹中再新建一个名为“Git仓库”的文件夹即可。
设置用户名:
在“Git文件”文件夹下右击鼠标,选择“Git Bash Here”,在弹出的DOS窗口中输入“git config --global user.name '计算机学习sky'”,回车即可。如下图所示:
设置用户邮箱:
在“Git文件”文件夹下右击鼠标,选择“Git Bash Here”,在弹出的DOS窗口中输入“git config --global user.email '488573349@qq.com'”,回车即可。如下图所示:
初始化一个新的Git仓库:
在"Git仓库"文件夹下右击鼠标,选择"Git Bash Here",在DOS窗口中输入"git init",回车。文件夹下随即出现".git"文件,该文件是隐藏文件,需要在"查看"中勾选"隐藏文件"才能看见,截图如下:
3)向仓库添加文件:
在"Git仓库"文件夹下打开命令窗口,输入"touch test1.php",回车,即可创建一个test1文件。如下图所示:
之后输入"git status"命令,回车,再输入"git add test.php"命令,将test1文件提交到暂存区,如下图所示:
之后输入命令"git config --global user.name '计算机学习sky'",回车。再输入命令"git config --global user.email '488573349@qq.com'"回车。然后输入命令"git commit -m '将暂存区文件添加到仓库'",回车,即可将文件添加到仓库中,之后用"git status"命令验证是否添加成功,如下图所示:
4)修改仓库文件:
输入命令"vi test1.php",回车,进入文件中,即可修改文件内容,如图所示:
之后按照上面的步骤将修改过后的文件提交到仓库。
5)使用git diff命令查看修改
首先修改test1.php的内容,不提交,之后输入命令"git diff",回车,即可看到所做出的修改,如下图所示:
6)git log命令
在"Git 仓库"文件夹下输入"Git log"命令,回车,
7)标签
通过在命令行输入命令"git tag -a 第一次定义标签"来创建一个标签,之后通过命令"git tag"来验证标签是否创建成功,如下图所示:
通过输入命令"Git log"来获得标签在仓库中的位置,如下图所示:
删除标签的方法为:在命令行输入命令"Git tag -d 第一次定义标签",回车即可:
可见标签已被删除。
8)分支
查看现有分支,输入命令"git branch"
创建一个新的分支,输入命令"git branch 第一次创建分支",并通过命令"git checkout 第一次创建分支"切换到新创建的分支上
由图可见,分支已经切换成功,由原来的"master"切换为"第一次创建分支"。
通过输入命令"git log --oneline"来显示分支
最后,通过命令"git branch -d 第一次创建分支"来删除新建的分支,可见并不能删除
以下三种情况不能删除分支:
1)如果某个分支上有任何其他分支上都没有包含的 commit(也就是这个 commit 是要被删除的分支独有的),git 不会删除该分支。
2)如果你创建了 sidebar 分支,向其添加了 commit,然后尝试使用 git branch -d sidebar 删除该分支,git 不会让你删除该分支,因为你无法删除当前所在的分支。
3)如果你切换到 master 分支并尝试删除 sidebar 分支,git 也不会让你删除,因为 sidebar 分支上的新 commit 会丢失!要强制删除,你需要使用大写的 D 选项 - git branch -D sidebar。
通过如下图所示方法来删除新建的分支即可:
可见分支已经删除。
9)合并
在活跃分支下使用命令"git merge <other-branch>"便可合并分支,不再赘述。
10)撤销更改
使用命令"git commit --amend"来更改最近的commit,结果如下。
使用"git revert <SHA-of-commit-to-revert>"来撤销更改,结果如下:
实验总结与体会:
1)通过本次实验,了解了Git的基本指令,也了解了Git的方便。
2)了解了分布式版本控制系统的核心机理。
3)提高了动手能力,为以后的课程学习打下了基础。
思考题:
答:Git的核心机理在于开发者可以将文件提交到本地,支持离线工作,其他开发者可以通过克隆拷贝整个仓库。还可以通过创建分支、合并等操作对仓库文件进行编辑。