实验一 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.安装git
2.初始配置git,git init git status
2.1在开始使用 Git 之前,你需要配置 Git。在命令行工具中运行以下每行,确保所有选项都已被配置好。init 子命令是"initialize"(初始化)的简称,这个命令很有用 。

2.2克隆现有仓库。
在 Git 上进行克隆的方法是调用我们将在终端上运行的命令 git clone,然后传入要克隆的 Git 仓库的路径(通常是 URL)。
首先需要验证终端位置,在克隆任何内容之前,确保命令行工具已定位于正确的目录下。克隆项目会新建一个目录,并将克隆的 Git 仓库放在其中。问题是无法创建嵌套的 Git 仓库。

2.3 git status 是了解 Git 的核心所在。
它将告诉我们 Git 正在考虑什么,以及 Git 所看到的我们仓库的状态。当你第一次使用 Git 时,你应该一直都要使用 git status 命令.你应该习惯于运行任何其他命令之后,都运行下该命令。
这样可以帮助你了解 Git 的工作原理,并避免你对文件 / 仓库状态做出不正确的推论。克隆仓库后的结果如下:

3 .掌握git log ,git add ,git diff 指令
3.1.1 git log 命令,结果如下:

git log 命令用于显示仓库中所有 commit 的信息。
3.1.2 git log --oneline命令,结果如下:

git clone --oneline 命令,每行显示一个 commit,显示 commit 的 SHA 的前 7 个字,显示 commit 的消息。
3.1.3 git log --stat命令 ,结果如下

The git log 命令有一个选项可以用来显示 commit 中更改的文件以及添加或删除的行数。该选项为 --stat(stat 是“统计信息 statistics”的简称)
3.1.4 git log -p命令,结果如下:

git log 命令具有一个可用来显示对文件作出实际更改的选项。该选项是 --patch,可以简写为 -p
3.2 git add 命令,结果如下
使用 git status 查看当前状态

使用git . 命令把所有文件添加到暂存区

3.3 git commit命令,结果如下:
3.3.1 使用编辑器写

3.3.2 不使用编辑器

3.4 git diff命令,结果如下:
git diff 命令用来查看已经执行但是尚未 commit 的更改

3.5 .gitignore文件
如果你想将某个文件保留在项目的目录结构中,但是确保它不会意外地提交到项目中,可以使用名称特殊的文件 .gitignore(注意文件名开头的点,很重要!)。
将此文件添加到 new-git-project项目根目录。你只需列出希望 git ignore(忽略,不跟踪)的文件名,git 将忽略这些文件。

4 掌握git tag git branch,git commit 指令
4.1 git tag命令,git tag -a v1.0 中,使用了 -a 选项。该选项告诉 git 创建一个带注释的标签。如果你没有提供该选项(即 git tag v1.0),那么它将创建一个轻量级标签。

4.2 git branch
列出仓库中的所有分支名称,创建新的分支,删除分支
创建一个sidebar 分支


4.3 git branch -d指令,用来删除一个分支,运行结果如下:
删除一个分支时,要切换到另一个分支

4.4 添加页面颜色

4.5更改侧栏

4.6 更改master上的标题

4.7 git log --oneline --graph --all 命令,结果如下:

4.8 git merge <other-branch> 用来和其他分支合并
如果完全相同的行在不同的文件中更改了,将产生合并冲突


解决冲突

5 掌握git revert 指令

总结与体会:
这次实验不算很难,但是挺麻烦的,做过之后,也学到点东西,git中用到的命令和Linux命令是一样的,git被称为代码版本管理工具。这个应该是目前最好用的工具。学了这个之后可以学习GitHub,对以后我们保存代码有很大的帮助。
思考题: 阅读维基百科和百度百科 的Git词条,总结分布式分布式版本控制系统的核心机理
分布式的版本控制就是每个人都可以创建一个独立的代码仓库用于管理,各种版本控制的操作都可以在本地完成。
每个人修改的代码都可以推送合并到另外一个代码仓库中。而像SVN这样,只有一个中央控制,所有的开发人员都必须依赖于这个代码仓库。
每次版本控制的操作也必须链接到服务器才能完成。很多公司喜欢用集中式的版本控制是为了更好的控制代码。如果个人开发,就可以选择Git这种分布式的
浙公网安备 33010602011771号