私はいくつかのサーバー側のソフトウェアをマージするために取り組んでいます。 git worktree
を使用すると、特定のブランチをチェックして別のブランチをマージすることができます。大規模なリポジトリであっても、非常に高速です。Git - 裸のレポはマスターブランチのワークツリーを持つことができません - なぜですか?
唯一の例外はmaster
にマージされているようです。私はgit worktree add /tmp/path/to/worktree master
を行うと、私はエラーを取得する:
/path/to/bare/repo (bare)
を...そしてもちろん、何の作業ツリーはちょうど、そのパスではありません。
fatal: 'master' is already checked out at '/path/to/bare/repo'
しかし、これは明らかに事実ではない、git worktree list
ができますあなたが期待する裸のレポファイル。
更新:私はgitの管理者に連絡を取りましたが、これはバグかもしれないことに同意しています。私は彼らからテストのための予備的なパッチを持っています。また、希望のの動作をパッチなしで再現することもできました。
この時点で、私は境界条件や根本原因が何であるか完全にはわかりませんし、gitの修正が予定されているかもしれません。
ドキュメントを読むことから、これを動作させるためにブランチを作成するには '-b'オプションを渡す必要があるようです。 –
Hm。しかし、このレポには既存のマスターブランチがあります。エラーメッセージもそのことを確認しているようです。 上記の説明から明らかではないかもしれませんが、このアプローチは、*マスターから別のブランチにマージすることを含め、他のブランチとうまく機能します(エラーメッセージなし)。 – mtutty