Использование DirectoryIterator эквивалентно предыдущему ответу ...
function deleteFolder($rootPath)
{
foreach(new DirectoryIterator($rootPath) as $fileToDelete)
{
if($fileToDelete->isDot()) continue;
if ($fileToDelete->isFile())
unlink($fileToDelete->getPathName());
if ($fileToDelete->isDir())
deleteFolder($fileToDelete->getPathName());
}
rmdir($rootPath);
}
Я считаю, что это происходит, когда вы пытаетесь проверить удаленную ветку, о которой ваше локальное репозиторий git еще не знает. Попробуйте:
git remote show origin
Если удаленная ветка, которую вы хотите оформить, находится в разделе «Новые удаленные ветки», а не «Отслеживаемые удаленные ветки», вам нужно сначала получить их:
git remote update
git fetch
Теперь все должно работать:
git checkout -b local-name origin/remote-name
Может ли ваша проблема быть связана с этим другим вопросом SO «проблема проверки» ?
то есть: проблема, связанная с:
git checkout -b [<новая_ ветка>] [<начальная_ точка>]
, где [<начальная_пункт>]
относится к имени фиксация, с которой начинается новая ветка, а 'origin / remote-name'
не то. git branch
действительно поддерживает start_point, являющийся именем удаленной ветки) Примечание: в сценарии checkout.sh говорится следующее:
if test '' != "$newbranch$force$merge"
then
die "git checkout: updating paths is incompatible with switching branches/forcing$hint"
fi
Это похоже на синтаксис git checkout -b [] [remote_branch_name] одновременно переименовал ветвь и сбрасывал новую начальную точку новой ветки, которая считается несовместимой.
Alternate syntax,
git fetch origin remote_branch_name:local_branch_name
I suspect there is no remote branch named remote-name, but that you've inadvertently created a local branch named origin/remote-name.
Is it possible you at some point typed:
git branch origin/remote-name
Thus creating a local branch named origin/remote-name? Type this command:
git checkout origin/remote-name
You'll either see:
Switched to branch "origin/remote-name"
which means it's really a mis-named local branch, or
Note: moving to "origin/rework-isscoring" which isn't a local branch If you want to create a new branch from this checkout, you may do so (now or later) by using -b with the checkout command again. Example: git checkout -b
which means it really is a remote branch.