zoukankan      html  css  js  c++  java
  • Git多人项目演练与心得体会

    1、前言

      感谢孟宁老师课上的悉心指导,本文以git为项目管理工具,期以完成下图任务。

      参考资料:五大场景玩转Git,只要这一篇就够了!

    2、项目流程

    2.1、GitHub新建项目

      流程:

    右上角'+'号  =>  New repository  => 输入仓库名  =>  Create repository
    

    2.2、远端克隆项目

    git clone  //将远端的代码以及相关分支信息clone到本地。
    


    2.3、分支的创建与切换

    git branch  //创建分支
    git checkout //进行分支切换
    


    2.4、两个分支按流程图交替进行文件的修改

    git add  //添加文件到暂存区
    git commit -m "xxx"  //提交文件到本地仓库,提交信息为“xxx”
    

      反复运用这两个命令进行修改和提交:

      main分支下:

      dev分支下:


    2.5、保持本地仓库与远程代码同步

    git pull  //使得本地仓库和远程仓库代码和分支同步
    


    2.6、rebase合并并查看状态

    git rebase  //分支的“变基”,重新整理提交记录
    git status  //表示文件,文件夹在工作区,暂存区的状态
    

      重新整理HEAD之前的三个节点,-i表示交互模式,一个^即表示向前一个节点

      删除A和B后,一定会产生冲突,因为C是在A、B的基础上修改得来的,查看git的状态:

      解决冲突文件,直接把C文件重新提交一次即可解决冲突:

    2.7、merge合并和代码推送至远端

    git merge  //使得分叉的分支重新合并
    git push  //将本地的分支代码推送至远程代码仓库
    


    2.8、查看日志

    git log  //查看git提交的日志
    


      可以看到,A和B虽然在本地存在过,但是在远程的提交日志内并无AB,演练目的达成。

    3、过程疑问总结与心得

    3.1、过程疑问总结

    1. master分支无了?

      https://zhuanlan.zhihu.com/p/148687706

    2. 多人协作模式下,push失败怎么办?

      首先,可以继续push进行尝试。
      如果仍然失败,原因基本是远程版本比本地更新,需要git pull先尝试合并。
      如果合并有冲突,则解决冲突,并在本地提交。

    3. git merge与git rebase的区别?

      https://www.jianshu.com/p/4079284dd970

    3.2、心得

      Git是一个开源的分布式版本控制管理系统,通过它,我们可以记录文件每一个提交的节点,它甚至可以不用网络,就能够实现在本地有效地管理项目代码,当然,我们也可以利用远程仓库进行远程协作开发。
      通过这次多人项目演练,我熟悉了git工具的常用命令,更加明白了上手实操的重要性,同时,我深刻地领悟到,Git工具对于提升多人开发的效率,提高单人代码的容错率的益处,总而言之,它是一个先进的代码管理工具。
      最后,再次感谢孟宁老师课上的指导。

  • 相关阅读:
    UVa 10010 Where's Waldorf?
    boost 学习笔记
    C++ enum类型的一个更好的用法
    新浪面试题:删除字符串中多余的空格
    微软面试题:写程序找出二叉树的深度
    c++中sizeof的分析
    复习计划
    boost学习之 时间和日期 timer
    c++ template学习总结3
    微软面试题:反序一个单向链表
  • 原文地址:https://www.cnblogs.com/jizhidexiaobai/p/13777381.html
Copyright © 2011-2022 走看看