Во-первых, обновите ветки удаленного отслеживания (локальные реплики удаленных веток, с которыми вы не можете взаимодействовать так же, как с своими локальными ветками) , Обычно это делается с помощью
git fetch
(без каких-либо параметров подразумевается --all
)
Ваш локальный репо будет знать каждый новый ветвь, которую ваш коллега мог создать с тех пор, как вы в последний раз выбирали (или извлекали, так как извлечение делает выборку в качестве первого шага).
Тогда вы сможете создать локальный аналог для любого из этих пультов с
git checkout <branchName>
Здесь, обратите внимание, что <branchName>
подразумевается без [[ 114] prefix, иначе git попытается проверить так называемую ветку удаленного слежения, которую он не может создать. В этот момент он преобразует ссылку на ветвь в коммит, на который указывает ветка удаленного отслеживания, проверяет эту фиксацию напрямую, что приводит к отключенному состоянию HEAD. (что не страшно, но может расстроить людей, начинающих использовать git)
Вы использовали бы сервисы от ОС для обеспечения таймера, который Вы не попытаетесь реализовать сами. Если бы код должен был работать простой считать время, то мы все еще были бы в средневековье, что касается вычислений.
В большинстве операционных систем Ваша задача будет не только помещена для сна, когда ее интервал времени использовался, но также и в то время как она ожидает ввода-вывода (который намного более характерен для большинства программ).
Как сказанный AnthonyWJones, используйте понятие операционной системы текущего времени.
Интервалы времени ядра ОС слишком коротки для представления любой значимой погрешности для экранной заставки.
Я думаю, что Ваш ожидающий процесс может быть очень простым:
Поскольку шаги 1 и 2 используют ОС и не некоторый под управлением счетчик, Вы не заботитесь, прерваны ли Вы в любое время во время этого действия.
См., например, http://www.opengroup.org/onlinepubs/000095399/functions/sleep.html
Время приостановки может быть дольше, чем требуемый из-за планирования другого действия системой.
Это могло быть языковозависимым. В Java это не проблема. Я подозреваю, что все языки "сделают правильную вещь" здесь. Это с протестом, что такие таймеры не чрезвычайно точны так или иначе, и что обычно можно только ожидать, что таймер будет спать, по крайней мере, пока Вы указываете, но могли бы спать дольше. Таким образом, это не мог бы быть активный поток, когда время заканчивается и поэтому продолжило бы обрабатывать немного позже.
Время Вы указываете в sleep()
находится в в реальном времени, не процессорное время Вашем использовании процесса. (Поскольку процессорное время - приблизительно 0, в то время как Ваша программа спит.)