ここからわかるように、物理的には別のブランチのファイルを一度に表示することはできませんが、ブランチを変更したときに実際にシステムに入る場所が不思議です。
はい、あなたは、単にこれを実行する必要があり、それ
行うことができます。
Gitは名前git workdir
の下に戻って2007年にこの機能を公開しました。これはgit contribフォルダの下に長年置かれていました。
gitバージョン2.5では、git worktree
として公開されました。複数のブランチで同時に作業することができます。
どうすればよいですか?
# create a new working directory
# the path will be added and the given branch name will be checkout out
git worktree add <path to the new working directory/ branch name>
# now you have 2 folders with different branches in each one of them.
# if you used something like `git worktree /tmp/aaa` than you will have
# branch aaa checked out in the new folder and you can switch to any branch
# you wish
各worktree
は、独自の3-状態を持っているので、することはできません複数worktrees上の同じブランチ。例えば
:あなたが同時に別のブランチで作業することができ、コンピュータ上の別のフォルダを作成します
git worktree add <second path>
。
git worktree
は、同じリポジトリを指している間に2つの別々の作業フォルダを作成します。
これにより、リポジトリ自体に影響を与えることなく、新しいワークツリーの任意の実験を行うことができます。添付された画像には2つの別々の作業フォルダがありますが、どちらも1つのレポを使用してコンテンツを共有しています。ここで
は新しいworktreeを作成する方法についてのサンプルであり、それの結果です:私は質問が*「ファイルが行く行う場所」*でしたが、あなただけのフォルダを述べたと思います
は、かなり単純化されたハッシュされたスナップショットを含んでいます。はるかに良い答えを出すだろう、その移行の場面の裏に起こるもっと多くの魔法があります。 –
ええ、そうです。それは不気味な答えでした。 '.git /'で他に何が起こっているのか、そしてオブジェクトをより深く見ていく方法を説明するためにもっと努力しました。あなたは他にどのような改善ができると思いますか? – pnovotnak
@pnovotnak 'Git Internals'を読むことは、ここでの多くの質問に対する最良の答えです。 – ElpieKay