2016-11-15 13 views
1

Моя организация имеет 100 с Git repos. Мне нравится обновлять локальные клоны, поэтому я хотел бы знать, какие из них нужно клонировать, а не повторять клонирование всего, что занимает много времени. Есть ли команда, которая может сказать мне последний раз, когда у удаленного репо было обновление? В любом филиале?Нужно ли мне делать Git Clone?

Я посмотрел в выполнении запроса журнала на удаленном Git РЕПО, but that doesn't appear to be possible

+1

Посмотрите, если [этот] (http://stackoverflow.com/questions/10312521/how-to-fetch-all-git-branches) отвечает на ваш вопрос. .. – War10ck

+2

Выполнение 'git fetch' см. ms, как то, что вам нужно, но вам придется запускать его в каждом репо или создавать сценарий оболочки, который сделает это за вас. – IanAuld

ответ

2

Чтобы сохранить местный репо на сегодняшний день с вкладами от других разработчиков, вы должны использовать git fetch и/или git pull. См. How to fetch all git branches для более подробной информации.

3

После первого git clone репозитория, который вам не нужно повторно клонировать. Простой git fetch. У вас может быть цикл, который выполняет git fetch для каждого репозитория. Если ничего не было изменено, это будет почти ничего и будет сделано в кратчайшие сроки, и если оно будет изменено, обновление будет инкрементным и очень быстрым, а также в большинстве случаев.

2

Соглашаться с yorammi и Code-apprentice, +1 для обоих. Так что просто немного развернуть ...

git fetch обновит ваше местное репо с любыми изменениями с удаленного устройства - но не будет их объединять.

Затем вы можете использовать git status, чтобы увидеть, есть ли какие-либо изменения сливаются в.

Затем вы можете сделать git merge, чтобы объединить их.

ИЛИ

git pull делает выборку и слияние, если вы не хотите беспокоиться о проведении проверок