PX4 开发子模块不同步问题解决

前提主分支为extension 关联到远端库master分支A,在此基础上,gitbranch 建立extension_tasks分支,然后gitcheckout extension_tasks 分支,并在其基础上进行开发,并将其推到另外一个远端库的另外一个分支。

下面是用法解释:

 

  gitbranch git checkout经常在一起使用,所以在此将它们合在一起

  1.Gitbranch

    一般用于分支的操作,比如创建分支,查看分支等等,

    1.1git branch

      不带参数:列出本地已经存在的分支,并且在当前分支的前面用"*"标记

    1.2git branch -r

      查看远程版本库分支列表

    1.3git branch -a

      查看所有分支列表,包括本地和远程

    1.4git branch dev

      创建名为dev的分支,创建分支时需要是最新的环境,创建分支但依然停留在当前分支

    1.5git branch -d dev

      删除dev分支,如果在分支中有一些未merge的提交,那么会删除分支失败,此时可以使用gitbranch -D dev:强制删除dev分支,

    1.6git branch -vv 

      可以查看本地分支对应的远程分支

    1.7git branch -m oldName newName

      给分支重命名

  2.Git checkout

    1.操作文件 2.操作分支

    2.1操作文件

      2.1.1git checkout filename 放弃单个文件的修改

      2.1.2git checkout . 放弃当前目录下的修改

    2.2操作分支

      2.2.1git checkout master 将分支切换到master

      2.2.2git checkout -b master 如果分支存在则只切换分支,若不存在则创建并切换到master分支,repostart是对gitcheckout -b这个命令的封装,将所有仓库的分支都切换到mastermaster是分支名,

    2.3查看帮助

      gitcheckout --help

      当然gitcheckout还有许多命令,但这些已经能满足我们日常开发所需

所以这个时候extension extension_tasks branch应该是同步的

由于我已在extension_tasks上工作很久,两个分支完全不一样了,下面我将做一个测试





















这个为extension分支,然后创建一个分支并切换过去。






















现在两个分支完全一样。


然后,开始处理extension_tasksbranch,首先将分支关联回A分支的远端库,使用git branch –set-upstream-to=origin/A

然后gitpull 解决冲突,gitcommit,发现还有子模块不同步的情况

fatal: no submodulemapping found in .gitmodules for path “xxx/xx”

删除子模块:(分4步走)

1) $ git rm --cached [path]

根据路径删除子模块的记录

2) 编辑“.gitmodules”文件,将子模块的相关配置节点删除掉

清理子模块配置

3) 编辑“.git/config”文件,将子模块的相关配置节点删除掉

清理子模块配置

4) 手动删除子模块残留的目录

清理脏文件

根据错误一步一步移除错误!

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐