暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Git版本控制常见操作

生信与计算机 2021-08-11
243

       Git已经学习过很久了,但是一直没有系统总结过。这篇博客主要是总结一下之前学习的Git命令。包括:commit,branch,checkout,merge,rebase,reset,revert


       这里神经质的插播一条今天学习的一些关于IP的知识点,也相当于是一个回顾总结。

  1. 路由器一般只会到OSI模型的前三层协议:物理层、数据链路层和网络层。408里面学过的点,物理层放大光/电信号的设备是集线器(hub)。集线器会构成冲突域,也就是说通过集线器连接的设备不能同时发送数据包,因为会产生冲突。数据链路层采用的是交换机(switch),交换机的每个接口会构成一个冲突域,也就是说交换机会隔离冲突域,但是通过交换机连接的设备会形成广播域(使用MAC地址通信)。一般情况下,通过交换机连接的设备会构成一个LAN。而路由器则是基于网络层的设备,路由器能够隔离广播域(使用IP地址通信)。

  2. 一台路由器一般由主控板,接口板和交换板构成。下面考虑一个数据包的传送过程:在计算机网络中,首先是物理层中的光/电信号通过硬件被转换成数据帧(空-帧识别-帧开始-源MAC-源IP-目的IP-目的MAC-帧结束)。数据帧被解析之后,路由器根据数据帧的类型判断是否需要进行转发(比如报文协议就不需要转发,而IPV4协议则需要转发),当数据包需要被转发时,路由器查询路由表(由主控板下发至接口板中,感觉类似于微服务中的配置下发),得到转发的ip和下一跳接口,根据ARP协议将转发的ip转化成MAC地址填入数据帧的目的MAC地址中,这样数据包就被路由器转发出去了。

  3. ipv4一般分为五类。A类:第一位必定是0,范围在1.0.0.0-127.255.255.255;B类:前2为必定是10,范围在128.0.0.0-191.255.255.255;C类:前3为必定为110,192.0.0.0-223.255.255.255;D类:前4位必定为1110,224.0.0.0-239.255.255.255。


    git commit
    复制


    git commit会基于父版本进行一次提交操作。


      git branch 分支名
      ------------下图命令--------
      git branch newImage
      git commit
      复制

      git branch会基于当前的指针创建一个新的分支。


        git checkout 分支名
        ------------下图命令--------
        git checkout newImage
        git commit
        复制

        git checkout能够切换分支.

        如果创建新分支的同时,想要切换到新的分支,使用:

          git checkout -b 分支名


          复制

            git merge
            复制

            git merge用于合并两个分支。对下图执行

              git merge bugFix
              复制

              会得到如下结果




                git rebase
                复制

                git rebase也是用于合并多个分支,但是它是线性合并。

                对下图执行

                  git rebase main
                  复制


                  会得到如下结果:




                  Git中的HEAD指针一般情况下是指向当前分支上的最近一次提交。可以通过

                    git checkout 提交的哈希值
                    复制

                    将HEAD指针指向任意一次提交的位置。



                    相对引用:使用^,可以向上移动一个记录;使用~num,可以向上移动num个记录。也就是说main^就是main的父结点。HEAD~4就是在HEAD指针的基础上退后四步(不算当前这步)。

                      git branch -f main HEAD~
                      复制

                      上面的命令会将 main 分支强制指向 HEAD 的第 3 级父提交。



                        git reset HEAD^
                        复制

                        git reset通过将版本退回到之前的版本来实现撤回操作,原来指向的提交就像不存在一样。git reset在本地分支使用很方便,但是不能提交到远程分支。



                          git revert
                          复制

                          git revert 能够撤销修改,并分享到远程。





                          文章转载自生信与计算机,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                          评论