Я бы посоветовал пойти на решение Гордона, поскольку он более эффективен, чем substr ():
<?php
$string = 'abcdef';
$repetitions = 10000000;
echo "\n\n";
echo "----------------------------------\n";
echo $repetitions . " repetitions...\n";
echo "----------------------------------\n";
echo "\n\n";
$start = microtime(true);
for($i=0; $i<$repetitions; $i++)
$x = substr($string, -1);
echo "substr() took " . (microtime(true) - $start) . "seconds\n";
$start = microtime(true);
for($i=0; $i<$repetitions; $i++)
$x = $string[strlen($string)-1];
echo "array access took " . (microtime(true) - $start) . "seconds\n";
die();
выводит что-то вроде
----------------------------------
10000000 repetitions...
----------------------------------
substr() took 2.0285921096802seconds
array access took 1.7474739551544seconds
Для подавляющего большинства[1] посетителей здесь,правильный и самый простой ответ на вопрос "Как мне вывести список всех удалённых веток в Git 1.7+?" таков:
git branch -r
Для небольшого меньшинства[1] git branch -r
не работает. Если git branch -r
не работает, попробуйте:
git ls-remote --heads <remote-name>
Если git branch -r
не работает, то, возможно, как говорит Cascabel, "вы изменили стандартный refspec, так что git fetch
и git remote update
не забирают все ветки remote
".
[1] На момент написания этой сноски 2018-февраля я просмотрел комментарии и вижу, что git branch -r
работает для подавляющего большинства (около 90% или 125 из 140).
Если git branch -r
не работает, проверьте git config --get remote.origin.fetch
содержит подстановочный знак (*
) согласно этому ответу
Просто работайте git fetch
команда. Это вытянет все удаленные ответвления к Вашему локальному репозиторию и затем сделает git branch -a
для списка всех ответвлений.