Самая близкая вещь, которую вы можете получить, называется "рабочие деревья", вы можете прочитать больше об этом здесь .
Краткое описание этого: у вас будет 1 главный репозиторий с рабочей папкой, и вы можете, например, проверить основную ветку в этой рабочей папке.
Затем дополнительно вы можете извлечь другую ветку, например, Develop, в отдельную рабочую папку , подкрепленную тем же хранилищем .
Это позволит вам иметь более одной ветки "вживую" в рабочей папке на диске одновременно.
Однако нет «когда я фиксирую эту ветку, папка обновляется», вместо этого вы должны работать в этой папке.
По сути, это будет выглядеть как два разных клона, за исключением того, что вам не нужно нажимать и тянуть их между собой, поскольку существует только один репозиторий, поддерживающий две папки.
Вот краткий пример того, как его настроить (используя синтаксис команды Windows):
C:\> cd \dev\projects
C:\dev\projects> md MyAwesomeProject
C:\dev\projects> cd MyAwesomeProject
C:\dev\projects\MyAwesomeProject> git clone https://github.com/user/awesome.git master
.... snip
C:\dev\projects\MyAwesomeProject> cd master
C:\dev\projects\MyAwesomeProject\master> git worktree add ..\develop develop
Preparing worktree (checking out 'develop')
HEAD is now at fca4b6c My most recent awesome commit
C:\dev\projects\MyAwesomeProject\master> cd ..
C:\dev\projects\MyAwesomeProject> dir
Volume in drive C is System
Volume Serial Number is 1234-5678
Directory of C:\dev\projects\MyAwesomeProject
02.10.2018 13.43 <DIR> .
02.10.2018 13.43 <DIR> ..
09.11.2018 10.26 <DIR> develop
08.11.2018 09.48 <DIR> master
0 File(s) 0 bytes
4 Dir(s) 229 636 960 256 bytes free
Если вы хотите работать в ветке develop
, сделайте это в папке develop
, а если вы хотите работать в master
, сделайте это в , что папка.
После фиксации в одной папке вы можете переключиться на другую и объединить другую ветку, , поскольку это всего лишь 1 репозиторий, поддерживающий оба рабочих дерева .