Во-первых, это не то, для чего предназначена команда switch
.
В любом случае, вы собираетесь использовать git submodules
для того, что вы хотите.Www и Documents могут быть разделенными git-репозиториями, и вы можете использовать их как подмодули в своем основном git-репозитории.Таким образом, когда кто-либо клонирует репо, они получат пустые папки, если только они не обновят субмодули.
Если вы не хотите, чтобы субмодули, вы должны явно клонировать отдельные репо для www и Documents и поместить вСделки рЕПО.Обратите внимание, что git не отслеживает пустые папки, поэтому у вас не будет возможности заполнять их.
Другой способ (не очень рекомендуется), если вы не хотите, чтобы внешние репозитории создавали несвязанные ветки с помощью, скажем, www:
git checkout --orphan
git rm -rf .
mkdir www
touch www/a
git add www
git commit -m "adding www"
git checkout master
git checkout www -- www
PS: Реальный git-эквивалент svn-коммутатора, для которого он предназначен:
git checkout <branchname>