ここの開発者は、gitの使用に推奨される手順を実行し、サブモジュールのコミットを失いました。このエラーは、彼女がスーパープロジェクトをプッシュしたが、サブモジュールはプッシュしなかったことを意味することを理解していますが、彼女はこれを拒否し、彼女が私に見せたコマンドの履歴を持っています。これを引き起こしたと思われる手順は次のとおりです。将来これを避けるように彼女に言う方法を理解したいと思います。
- 彼女はサブモジュールとスーパープロジェクトにコミットしました。
- 彼女は自分の枝に最新のものを入れました。これにより、サブモジュールの競合が発生し、実際のコンテンツの競合は発生しませんでした
- 彼女はそれを解決するためにスーパープロジェクトでgitcommit-aを実行しました。(このタイプの競合についても理解しておくと役立ちます)。
- 彼女は別のブランチからマージを実行し、両方の場所でコミットしました。
- 彼女は、各サブモジュールにcdし、プッシュを実行してから、スーパープロジェクトでプッシュを実行するグローバルプッシュを実行しました。
この時点で、サブモジュールの元のコミットでコミットされた彼女の作業はから消えましたgit log
。