• 软件工程 第一次实验 Git代码版本管理


    Git实操

    实验目的

    1)了解分布式分布式版本控制系统的核心机理;

    1. 熟练掌握git的基本指令和分支管理指令;

    实验内容:

    1)安装git

    2)初始配置git ,git init git status指令

    3)掌握git log ,git add ,git diff 指令

    1. 掌握git tag git branch,git commit 指令

    5)掌握git revert 指令

    安装

    去官网找安装,分为GUI和SHELL,主要使用GUI,SHELL还没有尝试过,SHELL的界面是这个样子的,这里主要使用SHELL。

    image-20200222131105946

    使用

    Git init

    运行命令行,进入你所在的项目目录,输入get init,则在该目录下生成.git文件,此文件记录了你的所有提交,并记录了你的所有修改,这是这个仓库的核心,所以这个文件非常的重要,不允许删除或者修改。

    image-20200226101706048

    Git Clone

    Git Clone是我们把在互联网上的仓库克隆到我们本地的仓库中,在本地仓库中,你可以对克隆的项目进行各式各样的修改。该命令的第1个参数是互联网的url地址,后面的参数默认是这个项目的名字,但是你也可以自己修改它的名字,如果没有运行get init,直接运行克隆,会默认对他进行git init。

    image-20200226101827574

    Git Status

    表现此时仓库的各项情况,仓库中工作区暂存区和提交区的状态,是否存在分支以及属于哪个分支当中。

    image-20200226101848600

    Git Log

    显示在这个仓库中曾经提交过的提交记录。经常以图形化的形式来进行展示.

    • git log --oneline --graph

      image-20200226102040396

    • git log --stat

      image-20200226102254042

    • git log --patch

      image-20200226102331974

    • git log -p [SHA/ART/DATA/MSG]

      image-20200226102423268

    • git show [SHA]

    Git Add

    此命令将工作区的文件添加到暂存区,使用get stauts查看此时暂存区的文件状态,如果你添加了不想添加的文件,到暂存区使用git rm --cached来删除这个文件.

    image-20200226102716163

    Git Commit

    此命令将暂存区的文件添加到仓库中,运行此命令之后,会打开代码编辑器,在代码编辑器中会展示一系列信息如此次提交的注释信息,此时是第几次提交,以及提交的文件列表。

    image-20200226103237510

    image-20200226103318041

    Git Diff

    Git diff用于显示哪些文件已经修改了

    image-20200226103404726

    Git Ignore

    运行此命令,将在此仓库不跟踪这些文件,你也可以创建一个特殊的文件.gitignore,并采用通配符来忽略一系列相似的文件.

    image-20200222135907117

    Git Tag

    用于标注具有特定含义的提交,这些标签可以代表的含义,如标签创建者标签,创建日期以及标签消息,删除标签采用git tag -d [标签名]如果向往以前的提交中添加标签,可以使用git tag -a [name] [SHA]

    image-20200226103930223

    Git Branch

    在分布式管理系统中,最最强大的就是其分支功能,可以创建各种各样的分支,来满足不同的开发需求。

    • git branch

    ​ 查看这个仓库中所有的分支

    • git branch [name]

    ​ 创建一个新的分支

    • git checkout [name]

    ​ 切换到另一个分支

    • git branch -d [name]

    ​ 删除一个分支

    image-20200226105710791

    git merge

    主题分支(例如 sidebar)的作用是让你做出不影响 master分支的更改。当你在主题分
    支上做出更改后,如果觉得不想要该分支上的更改,则可以删掉该分支,或者你决定要保留更
    改,则可以将该分支上的更改与其他分支上的更改合并.

    在合并时,务必要知道处于哪一个分支,防止合并后产生错误的提交

    git merge [name-of-branch-to-merge-in]

    此命令可以让你合并你想要合并的分支。

    image-20200226113001402

    合并冲突

    合并冲突产生的原因是完全相同的行在不同的分支中被修改了,导致git不知道该选择哪一个,此时就会产生合并冲突。

    但是解决合并冲突也是非常简单的,通过合并冲突指示符来查看,保存你需要的内容,删掉不需要的内容。

    撤销与更改提交

    git commit --amend

    ​ 这个命令用来更新最后一次提交,在你需要对最后一次提交内容进行修改时,又不希望增加新的提交,你就可以使用这个命令。

    image-20200226113412858

    git commit revert

    ​ 这个命令用来还原一次提交,但这个命令本身就是一次提交。

    git commit reset

    ​ 使用-hard选项清除 commit
    ​ 使用-soft选项将 commit的更改移至暂存区
    ​ 使用-mixed选项取消暂存已被comm的更改

    分支引用

    你已经知道可以使用SHA、标签、分支和特殊的HEAD指针引用 commit.有时候这些并不足够,你可能需要引用相对于另一个 commit的 commit.例如,有时候你需要告诉git调用当前commit的前一个 commit,或者是前两个 commit.我们可以使用特殊的祖先引用字符来告诉git这些相对引用。这些字符为:

    ^ 表示父 commit
    表示第一个父 commit

    实验总结与体会:

    在此次实验中,进行了对git的使用,因为之前有了解国这方面的内容,所以实验的难度不是很大,但在实验的测试题中,仍存在错误,如:

    image-20200226094852060

    思考题

    ​ 分布式版本控制 (DVCS) 是一种不需要中心服务器的管理文件版本的方法,但是它也可以使用中心服务器。更改可以被合并到 DVCS 的任何其他用户的系统中,因此可以实现非常灵活的工作流。

    ​ 它比集中的版本控制更灵活,因为它除了支持传统的(集中式)工作流,还支持其他各种工作流;它比集中式服务器快得多,因为大多数操作在客户机本地进行,而不需要网络操作。

  • 相关阅读:
    第一行代码读书规划
    drawable文件夹详解
    index.do为后缀的是什么开发语言? 有什么技术特点?
    Activity与Fragment的生命周期
    正则例六
    iOS开发之--NSNotificationCenter的使用
    iOS开发之--MVC 架构模式
    iOS开发之--使用storyboard进行跳转
    swift
    iOS开发之-- oc 和 swift混编之自建桥接文件
  • 原文地址:https://www.cnblogs.com/csLu/p/12366326.html
Copyright © 2020-2023  润新知