0

此处的开发人员运行了我们推荐的 git 使用步骤,但丢失了子模块提交。我知道这个错误意味着她推入了超级项目而不是子模块,但她否认了这一点,并且有她向我展示的命令历史记录。以下是似乎导致此问题的步骤。我想了解如何告诉她以后避免这种情况。

  • 她致力于子模块和超级项目。
  • 她把最新的放在她的树枝上。这导致了没有实际内容冲突的子模块冲突
  • 她在超级项目中运行 git commit -a 来解决它。(理解这种类型的冲突也会有所帮助)。
  • 她从另一个分支运行了一个合并,并在两个地方都提交了。
  • 她运行了一个全局推送,将 cds 放入每个子模块,运行推送,然后在超级项目中运行推送。

至此,她在子模块中原提交中提交的工作从git log.

4

1 回答 1

1

我想当她解决子模块冲突时提交丢失了。可以按照此问题中的说明进行检索。

或运行

gitk --all $( git fsck --no-reflog | awk '/dangling commit/ {print $3}' )

(这是来自这个问题

只在原始 repo 上执行(git clone删除悬空提交),并在之前对其进行备份。

于 2011-07-14T15:45:38.253 回答