マージを行うためにサーバー側のソフトウェアに取り組んでいます。を使用git worktree
することで、ベア リポジトリの特定のブランチをチェックアウトし、別のブランチをそこにマージできます。大規模なリポジトリでも非常に高速です。
唯一の例外は へのマージのようmaster
です。私がそうgit worktree add /tmp/path/to/worktree master
すると、エラーが発生します:
致命的: 'master' は既に '/path/to/bare/repo' でチェックアウトされています
しかし、これは明らかに真実でgit worktree list
はありません。
/path/to/bare/repo (ベア)
...そしてもちろん、そのパスにはワーク ツリーはなく、必要な裸のレポ ファイルだけです。
更新: git のメンテナーと連絡を取ったところ、これがバグである可能性があることに同意しました。彼らからテスト用の予備パッチがあります。また、パッチを適用しなくて も、目的の動作を再現できました。
現時点では、境界条件または根本原因が何であるかは完全にはわかりません.gitからの修正が予定されている可能性があります.