实验目的:
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.实验内容结果的截图
1.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
1.2从头创建仓库
让 Git 能与你的代码编辑器结合使用。以下是三个最热门的代码编辑器。如果你使用的是其他编辑器,则在 Google 中搜索“修改 Git 默认编辑器为 X 编辑器”(将 X 替换为你的代码编辑器的名称)。
在对 Git 仓库进行 commit 或执行任何其他操作之前,需要一个实际存在的仓库。要使用 Git 新建一个仓库,我们将使用 git init 命令。
init 子命令是"initialize"(初始化)的简称,这个命令很有用
创建的过程中可能涉及如下命令
-
ls - 用来列出文件和目录mkdir - 用来新建目录
-
cd - 用来更改目录
-
rm - 用来删除文件和目录
-
pwd -列出当前目录
首先利用git init 创建一个数据库
克隆现有仓库:
输入命令git clone,然后输出要克隆的GIT仓库的路径
切换到new-git-project项目,用git status
查看仓库状态
切换到new-git-project项目,用git status
查看仓库状态
如果想要用其他的名称,可以在命令后面直接输入所需的名称,如git clone https://github.com/udacity/course-git-blog-project cs
打开文件夹,就可以产看克隆的项目了
进入course-git-blog-project文件夹,浏览器打开index.html文件,看见如下图blog网页
1.4 GIT LOG的命令使用
转到course-git-project
项目的目录下,输入git status
结果为“nothing to commit,working directory clean”
,可以继续项目
查看course-git-blog
项目中的index.html
文件,如下图
git log命令可以查看提交历史的。在提交了若干更新,又或者克隆了某个项目之后,可用git log命令来查看提交命令。承上,在检查状态时显示了“nothing to commit, working tree clean ”,表明当前项目没有被Git 追踪,就可以查看修改历史了。
输入git log
后的情况
git log -p 显示对文件作出实际更改的选项
使用git status检查git有没有跟踪这些文件
运行命令:git add index.html;再执行git status,发现没有跟踪的文件没有index.html了,而处于暂存分类
EXPEDITION
修改index.html并保存,在终端运行git diff
gitignore
1.6标签,分支
添加标签,返回终端输入git tag
删除标签 git tag –d
git branch 分支
git branch用来与git的分支进行交互
1.7合并
1.8撤销删改,备份分支
实验总结:
1.我在实验过程中,对于一些命令的使用是比较生疏的,在编辑的过程中出现一些错误花了很久时间才解决。
2.对实验的运行机制和原理不熟。
3.在老师的实验步骤和视频指导下,在出现错误然后分析错误再订正错误的过程中中一点点进步,经过这次实验我对GIT软件的使用有了初步的认识,在后面的学习中还会加强对GIT的学习。
思考题
阅读维基百科和百度百科 的Git词条,总结分布式分布式版本控制系统的核心机理
Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
分布式的版本控制就是每个人都可以创建一个独立的代码仓库用于管理,各种版本控制的操作都可以在本地完成。每个人修改的代码都可以推送合并到另外一个代码仓库中。