zoukankan      html  css  js  c++  java
  • 实验一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)实验内容以及结果的截图:

    2)实验过程中发生的问题与解决。

    1.安装git 

            下载windows版本的git软件,安装git并选择所有默认选项,安装完毕后,在桌面空白处右击,可以显示使用信息,安装成功。

    三、Git初始化及仓库创建和操作

    1、Git安装之后需要进行一些基本信息设置

      a、设置用户名:git config -- global user.name '你再github上注册的用户名';

      b、设置用户邮箱:git config -- global user.email '注册时候的邮箱';

    注意:该配置会在github主页上显示谁提交了该文件

      c、配置ok之后,我们用如下命令来看看是否配置成功

      git config --list

    注意:git config --global 参数,有了这个参数表示你这台机器上所有的git仓库都会使用这个配置,当然你也可以对某个仓库指定不同的用户名和邮箱

    2、初始化一个新的git仓库

      a、创建文件夹

        方法一:可以鼠标右击-》点击新建文件夹lxl

       方法二:使用git新建:$ mkdir lxl

    3、向仓库中添加文件  

      方法一:用打开编辑器新建index.html文件

      方法二:使用git命令。$ touch '文件名',然后把文件通过$ git add '文件名'添加到暂存区,最后提交操作

    4、修改仓库文件

    方法一:用编辑器打开index.html进行修改

    方法二:使用git命令。$ vi '文件名',然后在中间写内容,最后提交操作

    5、删除仓库文件

    方法一:在编辑器中直接把要删除的文件删除掉

    方法二:使用git删除:$ git rm '文件名',然后提交操作

    四、Git管理远程仓库
    1、使用远程仓库的目的:备份、实现代码共享集中化管理
    Git远程仓库实际上就是保持在服务器上的git仓库文件
    五、Git克隆操作
    目的:将远程仓库(github上对应的项目)复制到本地
    1、代码:git clone 仓库地址
    仓库地址由来如下:
    2、克隆项目

    3、将本地仓库同步到git远程仓库中:git push
    期间出现错误的情况有: 
    a、出现提交错误

     

    4.git log 的命令

    在终端运行git log命令,该命令会显示仓库中每个commit的SHA,作者,日期和消息。截图如下:

     使用git log --oneline命令,可以更改仓库信息的显示方式:每行显示一个commit,只显示commit的SHA的前7个字符,显示commit的消息。截图如下:

     运行git log --stat,此命令用来显示commit中更改的文件以及添加或删除的行数。截图如下

     运行git log -p,此命令用来显示commit中更改的文件以及添加或删除的行数。截图如下

     

     运行git show fdf5493,结果如下图

     5.git add& git commit& git diff

    首先,进入到wzy1目录下,在其目录下创建一个index.html文件,并添加如下一些起始代码:

    <!doctype html>

    <html lang="en">

    <head>

        <meta charset="utf-8">

        <title>Blog Project</title>

        <meta name="viewport" content="width=device-width, initial-scale=1">

        <meta name="description" content="">

        <link rel="stylesheet" href="css/app.css">

    </head>

    <body>

        <script src="js/app.js"></script>

    </body>

    </html>

     然后,继续在其目录下建立js和css文件夹,并在文件夹下分别建立app.js和app.css文件,可为空。运行git status命令,可看到我们创建了几个新的文件,但是这几个文件并没有被git跟踪。截图如下:

     

     提交添加更改后的commit

    向index.html中的body提交如下内容:

    <header>

       <h1>Expedition</h1>

    </header>

    运行git status命令,查看此时状态,截图如下:

     git diff
    将index.html中的标题"Expedition"改为"Adventure",保存文件后,运行git diff命令(与git log -p结果一样),此命令会显示已经修改的文件,添加/删除的行所在的位置,执行的实际更改 。截图如下:

     6.标签、分支
    git tag
    确保在new-git-project项目的目录下,运行git tag -a +标签名命令向最近的commit添加标签(v1.0是标签的名称,-a表示git创建的是一个带创建者,日期,消息等额外信息的标签),会打开代码编辑器,输入Ready for content作为tag
    保存并退出编辑器,运行git tag命令,验证已经向项目中添加了标签,再运行git log,)(git log --decorate)得到此标签在仓库的位置信息。git tag -d +标签名,此命令表示删除指定标签。截图如下:

     git branch 命令:用来与 git 的分支进行交互,它可以用来列出仓库中的所有分支名称,创建新的分支,删除分支。

      如果只输入git branch ,则git将列出仓库中的分支;

     创建分支:只需使用 git branch  并提供要创建的分支对应的名称。例如要创建的分支名为 sidebar,则运行命令 git branch  sidebar即可。目前只是sidebar 分支,但          是它还不是当前分支,目前提示符显示的是当前分支master。要使用该sidebar分支,你需要切换到该分支。

          git checkout 命令:切换分支。将master分支切换到sidebar 分支。
    活跃分支:提示符将显示活跃分支。活跃分支名称旁边会显示一个星号*

      删除分支:使用-d选项删除分支,但不能删除当前分支。例如当前分支为sidebar,要删除sidebar,分支,你需要切换到 master分支,或者创建并切换到新的分支。

     7 合并
          合并指令git merge:当前在分支master,合并wouder分支,运行语句 git merge wouder:
    运行结果如下:

     实验总结:通过这一次的实验,我发现自己关于学习计算机的理论知识和实践的不足,开始做实验的时候,不知道从何处下手,不理解建仓库的意义,很多指令不知道什么意思,通过看视频和同学讨论,问老师,知道了整个实验的意义和目的,后面做实验就显得较容易,但还是会犯很多低级错误,慢慢通过自己的多次验证和老师的指导最终完成了本次实验,感觉收获颇多

    实验问题:

    阅读维基百科和百度百科 的Git词条,总结分布式版本控制系统的核心机理

    答;分布式更方便开发者提交到本地,每个开发者通过克隆(git clone),在本地机器上拷贝一个完整的Git仓库。采用了分布式版本库的作法,不需要服务器端软件,就可以运作版本控制,使得源代码的发布和交流极其方便

    Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
    分布式的版本控制就是每个人都可以创建一个独立的代码仓库用于管理,各种版本控制的操作都可以在本地完成。每个人修改的代码都可以推送合并到另外一个代码仓库中。

  • 相关阅读:
    [bzoj1039] [ZJOI2008]无序运动Movement
    [bzoj1037] [ZJOI2008]生日聚会Party
    [bzoj1034] [ZJOI2008]泡泡堂BNB
    wing IDE
    用css解决table文字溢出控制td显示字数
    表格Table宽度设置无效的解决方法
    mysql获取某个表的所有字段名
    Python 各种编码相互转化 (目前只有Unicode utf-8)
    Python dict转化为string方法
    前端传给后端的数据类型为ImmutableMultiDict 咋办
  • 原文地址:https://www.cnblogs.com/lxl961103/p/12395635.html
Copyright © 2011-2022 走看看