Поддержка Git управления локальными и удаленными репозиториями помогла сделать вычисления более удобными. Удаленные репозитории управляются на сервере, тогда как локальные репозитории поддерживаются на машине и могут быть доступны без доступа в Интернет. Git предлагает две поддержки потоковой передачи: одна – восходящая, а другая – нисходящая; восходящий относится к тому месту, где вы клонируете своего представителя, а нисходящий поток позволяет вам интегрировать вашу работу с другими работами.
Поскольку Git – это программное обеспечение для распределенного управления версиями, параллельная работа может привести к путанице, поскольку несколько участников вносят изменения в один проект. Таким образом, рекомендуется синхронизировать удаленные и локальные репозитории, чтобы избежать каких-либо неудач, например, от вас может потребоваться вернуться к некоторым предыдущим версиям, что может потребовать бюджета и времени.
При работе в среде, где иногда вам приходится вносить изменения удаленно, и вы хотите, чтобы те же изменения присутствовали и в вашем локальном репозитории. Принимая во внимание важность синхронизации, мы подготовили это руководство, чтобы продемонстрировать, как сохранить локальный репозиторий таким же, как удаленный:
В этом разделе перечислены шаги по постоянному обновлению локального репозитория; всякий раз, когда удаленный репозиторий фиксирует изменения; можно выполнить шаги, описанные в этом разделе, чтобы применить эти изменения и в локальном репозитории:
В качестве примера мы берем проект GitHub и хотим клонировать этот проект на нашу машину. Для этого выполните команду, указанную ниже, чтобы клонировать пульт в указанный каталог: (в вашем случае ссылка на проект будет другой)
$ git clone https://github.com/marcusanth/Bat-inspired-test-case-prioritization.git
После клонирования проекта; измените рабочий каталог терминала на каталог, в котором вы клонировали проект.
В проектах git восходящий поток относится к репозиторию, из которого вы хотите клонировать: на этом шаге добавляется новый пульт, из которого будут извлечены и синхронизированы изменения:
Во-первых, проверьте список доступных пультов, выполнив команду, указанную ниже:
$ git remote -v
Из выходных данных видно, что в качестве удаленного присутствует только «origin»; вы можете добавить новый пульт, выполнив команду, указанную ниже: мы использовали эту команду, чтобы добавить «andreyex» в качестве нового пульта:
$ git remote add andreyex https://github.com/marcusanth/Bat-inspired-test-case-prioritization.git
Результат на изображении выше показывает, что новый удаленный «andreyex» успешно добавлен:
На этом шаге будет извлечено содержимое из «andreyex», и изменения будут сопоставлены с «origin»: используйте команду, указанную ниже, для выполнения вышеупомянутого действия:
$ git fetch andreyex
После получения содержимого с пульта: вы должны быть в главной ветке; в случае, если это не так, вы можете использовать следующую команду, чтобы перейти к главной ветке; в нашем случае мы уже на нем:
$ git checkout master
После этого вам нужно объединить главную ветвь удаленного восходящего потока (в нашем случае – andreyex), выполнив команду, указанную ниже:
$ git merge andreyex/master
Если вы обслуживаете локальные и удаленные репозитории, вы должны выполнить шаги 1 и 2. Первые два шага – разовые; после этого вы должны каждый раз выполнять только шаги 3 и 4, чтобы получить и объединить контент.
Git стал самой популярной системой управления версиями при разработке и сопровождении крупных проектов. Основным отличием Git является отслеживание версии по времени, обеспечение конфиденциальности данных, хранящихся в репозиториях, и предоставление онлайн- и офлайн-доступа путем создания удаленных и локальных репозиториев. Однако также рекомендуется сохранить локальный репозиторий таким же, как и удаленный; так что содержимое, сохраненное в обоих репозиториях, остается неизменным. В этом описательном руководстве мы предоставили пошаговую процедуру синхронизации локального репозитория так же, как и удаленного репозитория. Более того, если какие-либо добавления выполняются в локальном репозитории и недоступны на удаленном компьютере, эти изменения будут удалены, чтобы данные остались прежними.