Lab01 Git

Lab01 Git #

实验目的 #

  • 了解分布式版本控制系统的概念
  • 掌握 Git 的基本指令
  • 实践团队如何使用 Git 进行合作开发
  • 实践分支合并时冲突的解决

资源链接 #

https://bhpan.buaa.edu.cn:443/link/3A508B02D5CE20902AE2983009CE5D1B

Valid Until: 2023-07-15 23:59

实验指南 #

  1. 观看上述云盘链接中 Lab01 的视频(请务必观看,视频录制质量很高,讲解很清晰)
  2. 文字教程可查阅 Git简易教程Git指令全集
  3. 完成实验作业并于 3.18 日晚 12 点前提交至 软院云平台

实验作业 #

远程仓库可选 Gitee 或 Github;操作过程中请保存好截图,根据后面所讲的提交方式打包提交。

任务一 个人作业 #

  1. 远程仓库上新建代码仓库(private),仓库名:Platform-学号。

    在仓库主页截图

  2. 远程仓库上以 master/main 分支为基础,新建 dev 分支,添加 index.html 文件。(master/main 分支存储生产环境,dev 分支存储开发环境)

    在dev分支主页截图

  3. clone 远程仓库到本地,创建本地 dev 分支与远程同步。(此处结果应为在本地 dev 分支看到 index.html 文件)

    在控制台和本地目录截图

  4. 在本地修改 index.html 文件(内容如下),上传本地改动到远程仓库。

    控制台命令、仓库主页查看 index.html 截图

    index.html 文件修改内容
    <!DOCTYPE html>
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width,initial-scale=1.0,user-scalable=no,viewport-fit=cover">
        <meta name="keywords" content="北航软件工程基础">
        <title>Lab01 任务一</title>
    </head>
    <body>
        <h1>Lab01 任务一</h1>
    </body>
    </html>
    

  5. 在远程修改 index.html 文件(内容如下),本地同步远程改动。

    本地查看 index.html 内容截图

    index.html 文件修改内容
    <!DOCTYPE html>
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width,initial-scale=1.0,user-scalable=no,viewport-fit=cover">
        <meta name="keywords" content="北航软件工程基础">
        <title>Lab01 任务一</title>
    </head>
    <body>
        <h1>Lab01 任务一</h1>
        <h2>姓名</h2>
    </body>
    </html>
    

  6. 在本地合并 dev 分支到 master/main 分支,提交本地改动到远程仓库,并在远程 master/main 查看 index.html 内容。(以上结果是本地和远程的 master、dev 分支都可以看到 index.html 的最新改动)

    在网页 master/main 分支查看 index.html 内容并截图

任务二 小组作业 #

请保留任务二所创建的仓库一周;

任务二小组共同完成一份文档,文档模板见所给云盘资源 Lab01。

初始创建与同步 #

  1. 组长在远程仓库上新建 public 代码仓库,仓库名:Study-组号,并为组员授权。

    仓库主页截图、仓库授权用户截图

  2. 远程仓库上以 master/main 分支为基础,创建 dev 分支,添加 main.py 文件。

  3. 各小组成员 clone 远程仓库到本地,创建本地 dev 分支与远程同步。

合并分支练习 #

  1. 组长在远程仓库以 dev 分支为基础,为各个组员(包括自己)创建 exercise-学号 分支,各组员创建本地 exercise-学号 分支,同步远程代码仓库,在本地 exercise-学号 分支添加 function_学号.py 文件(各组员在自己的分支修改),上传本地改动至远程仓库。

    各组员本地 Git 命令行截图和远程仓库各分支文件内容截图

    function_学号.py 文件修改内容
    print('My student_id: 学号')
    
  2. 各组员在本地将 exercise-学号 合并到 dev 分支。

  3. 上传到远程仓库 dev 分支。

    远程仓库 dev 分支截图

合并分支冲突 #

  1. 各组员同步远程 dev 分支更新,确保此时内容为最新内容。

  2. 各组员修改本地 exercise-学号 分支的 main.py 文件。

    main.py 文件修改内容
    import os
    os.system('python function_学号.py')
    
  3. 各组员在本地将 exercise-学号 分支合并到 dev 分支。

    各组员 Git 命令截图

  4. 等所有组员结束上一步骤后,先组长再组员依次上传到远程 dev 分支,冲突时一律保留组长的修改。(解决冲突执行 commit 时注明信息为 conflict solved

    各组员 Git 命令截图和处理冲突截图

执行第10步骤时,当其他人 push 后你无法直接 push(当然你可以先尝试 push 看有无警告),需要 pull 同步他人修改后才能 push,而此时 pull 下来后你就会发现有冲突了

完成发布 #

  1. 待第10步骤完成后,组长在本地同步仓库 dev 分支,合并到 master/main 分支,并上传到远程 master/main 分支。

    组长 Git 命令截图和仓库主页 master/main 分支的 main.py 文件内容

提交方式 #

  • 截止时间:2023/3/18 晚12点
  • 提交方式:软院云平台
  • 提交内容:两个 word 文档或 pdf 文档,放在压缩包内,命名格式如下
学号_姓名_第1次实验.zip
|-- 学号_姓名_第1次实验_任务1.docx/pdf
`-- 学号_姓名_第1次实验_任务2.docx/pdf

注意事项 #

  1. 文档中必须包括各步骤说明以及相关截图。
  2. commit 时要求说清楚更改的内容。
  3. 任务二小组共同完成一份文档,组长和组员都需提交,文档模板见所给云盘资源 Lab01。
  4. 请务必按照上面的要求完成作业。如果我们发现作业中存在明显敷衍(比如步骤说明非常简略)的情况会 酌情考虑扣分