我想跳到git历史中的旧分支my_branch
,回顾一下我当时所做的事情,并有可能将其合并到我的master分支中。为此,我做到了
git checkout my_branch
回到我的工作。构建时,我注意到构建失败,因为git的子模块与my_branch
处理时所使用的旧状态不匹配。为了解决这个问题,我申请了
git submodule update --recursive
但是,这不符合我的预期。子模块未处于当时的状态。上面的命令返回了
First, rewinding head to replay your work on top of it...
Applying: my_commit_msg
Applying: other_commit_msgs
Submodule path 'submod_path': rebased into 'a2e4b6db33b34283f52e7e5f03f6e8f92c93ec22'
并且子模块本身现在说
$ git status
On branch master
Your branch and 'origin/master' have diverged,
and have 3 and 3 different commits each, respectively.
(use "git pull" to merge the remote branch into yours)
nothing to commit, working directory clean
因此它以某种方式重新应用了更改。在我看来,我的提交“ my_commit_msg”等现在在源/主服务器和本地主服务器上具有不同的ID。
P.S。 git版本是2.7.4