Если вы не ожидаете своей задачи, я думаю, что самое легкое решение найдено в Task.Exception :
Получает исключение AggregateException, из-за чего задача заканчивается преждевременно. Если задание выполнено успешно или еще не выбрало никаких исключений, оно вернет null.
blockquote>Я использую что-то вроде этого:
Task.Factory.StartNew(() => DoStuffHere()) .ContinueWith(task => { if (task.Exception != null) Log("log all the exceptions!"); });
git clone --single-branch --branch <branchname> <remote-repo>
Параметр - single-branch
действителен, начиная с версии 1.7.10 и более поздних.
См. Также other ответ , который предпочитают многие.
Вы также можете убедиться, что понимаете разницу. И разница в том, что вызывая git clone --branch
, вы получаете все ветки и проверяете одну. Это может, например, означать, что в вашем репозитории есть документация размером 5 КБ или ветка вики и ветка данных 5 ГБ. И всякий раз, когда вы хотите отредактировать свою главную страницу, вы можете в конечном итоге клонировать 5 ГБ данных.
Опять же, это не значит, что git clone --branch
не подходит для этого, просто это не всегда то, чего вы хотите достичь, когда вы спрашивают о клонировании конкретной ветки.
На момент написания исходного ответа ниже у git не было опции - single-branch
, но давайте сохраним ее для полного удовлетворения разъяренных пчел.
Ответ, который так сильно не понравился копипастерам, был следующий:
git init
git remote add -t refspec remotename host:/dir.git
git fetch