gitの「新しい」機能を調べていたのはworktree
、私が通常直面している問題、つまり複数のブランチで同時に作業する必要性にうまく適合しているように見えるからです(それらのいくつかは短命ですが、他のものは本当に長命です)。
私は通常、 で数時間作業してから、release_a branch
何かを修正してからrelease_x branch
少し修正する必要がありrelease_h branch
ます。私は怠け者なので、Intellij を使用して git リポジトリの複数のコピーをセットアップすることになるので、あちこちでブランチを頻繁に切り替える必要はありません。
git のコマンドについて聞いたとき、worktree
まさに私が探していたものだと思いました。単一のレポに複数の作業ディレクトリを持たせる方法です。そして、大きなプラスとして、別のブランチにプルさせるためだけにブランチで何かを変更するたびに、実際にプッシュする必要がなくなることを意味します (たとえば、ホットフィックスの場合)。私はそれらをローカルにマージすることができました。
worktree
gitの正しい理解はありますか?
私はそれで遊んでいますが、それが私の目的のためにどのように機能するかを実際に理解することはできません. デフォルトでは、ルートフォルダーにワークツリーが作成されるようですが、git add .
同じフォルダーを作成するとコミットに含まれます。
これは、既存のブランチのワークツリーを作成する方法ですmy_branch
(現在 @ であると仮定しますmaster
)。
git worktree add my_branch my_branch
だから私の質問は2つあります:
- 長時間のブランチに複数のワークツリーを適用することは可能ですか/正しいですか、それとも一時的に意味のあることですか?
- 不要なワークツリーを適切に削除するにはどうすればよいですか?
- これらのワークツリーは、メインの git リポジトリの内部または外部に存在する必要がありますか?
ありがとう